{"version":3,"file":"static/chunks/app/[locale]/(search)/layout-49df1a6f2042e17a.js","mappings":"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","sources":["webpack://_N_E/?7f6e","webpack://_N_E/./lib/schemas/search-schema.ts","webpack://_N_E/./components/search/SearchSchemas.tsx","webpack://_N_E/./components/search/useSearchPageParams.tsx","webpack://_N_E/./hooks/useQueryParams.tsx","webpack://_N_E/./hooks/useWebGL.ts"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/app/[locale]/(search)/_components/SearchPageWrapper.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/AuthenticatedFilter.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/FooterSC/FooterFilter.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/FooterSC/LanguageSection.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/FooterSC/Newsletter.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/DefaultHeader/DefaultHorizontalNav.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/DefaultHeader/DefaultUserMobileMenuItem.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/DefaultHeader/MobileLanguageDropdown.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/HeaderFactory.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/NuveenHeader/NuveenHorizontalNav.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/NuveenHeader/NuveenMobileUserMenuItem.tsx\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/shared/HeaderWrapper.tsx\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/components/HeaderSC/shared/MobileButton.tsx\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/components/Link.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/components/search/SearchSchemas.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/node_modules/next-intl/dist/esm/navigation/shared/BaseLink.js\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src2316242726/src/website/node_modules/next-intl/dist/esm/navigation/shared/LegacyBaseLink.js\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/node_modules/next/dist/client/image-component.js\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/node_modules/next/dist/client/link.js\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/icons/facebookIcon.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/icons/instagramIcon.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/icons/linkedinIcon.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/icons/twitterIcon.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/icons/verticalLogoWhiteIcon.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/images/brands/TGR.svg\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src2316242726/src/website/public/images/brands/welkin-and-meraki.svg\");\n","import { WebSite, WithContext } from 'schema-dts';\n\nexport function getSearchSchema({\n meta_title,\n meta_description,\n pathname,\n}: {\n meta_title: string;\n meta_description: string;\n pathname: string;\n}): WithContext {\n return {\n '@context': 'https://schema.org',\n '@type': 'WebSite',\n name: meta_title,\n url: pathname,\n description: meta_description,\n potentialAction: {\n '@type': 'SearchAction',\n target: `${pathname}?query={query}&bounds={bounds}¢er={center}&zoom={zoom}`,\n // @ts-expect-error - https://github.com/google/schema-dts/issues/114\n 'query-input': [\n {\n '@type': 'PropertyValueSpecification',\n valueName: 'query',\n description: 'Location where users want to find a meeting room',\n },\n {\n '@type': 'PropertyValueSpecification',\n valueName: 'bounds',\n description:\n 'Geographic bounds for the search area (latitude and longitude values)',\n },\n {\n '@type': 'PropertyValueSpecification',\n valueName: 'center',\n description:\n 'Center point of the search area (latitude and longitude)',\n },\n {\n '@type': 'PropertyValueSpecification',\n valueName: 'zoom',\n description: 'Zoom level for the map search (numeric value)',\n },\n ],\n },\n };\n}\n","'use client';\n\nimport { useTranslations } from 'next-intl';\n\nimport { usePathname } from '@/i18n/navigation';\nimport { getSearchSchema } from '@/lib/schemas/search-schema';\nimport { getServerConfig } from '@/utils/config';\n\nimport useSearchPageParams from './useSearchPageParams';\n\nexport default function SearchSchema() {\n const t = useTranslations('search');\n const pathname = usePathname();\n const { HOST } = getServerConfig();\n\n const { searchType } = useSearchPageParams();\n\n const searchSchema = getSearchSchema({\n meta_title: t(`meta.${searchType}.title`),\n meta_description: t(`meta.${searchType}.desc`),\n pathname: `${HOST}${pathname}`,\n });\n\n return (\n \n );\n}\n","import { useMemo } from 'react';\n\nimport useQueryParams from '@/hooks/useQueryParams';\nimport { usePathname } from '@/i18n/navigation';\n\nimport { SearchType } from './search-type.enum';\nimport { SearchViewMode } from './types';\n\nexport type SearchQueryParams = {\n view?: SearchViewMode;\n day?: string;\n startTime?: string;\n endTime?: string;\n isAllDay?: string;\n amenities?: string;\n seats?: string;\n query?: string;\n center?: string;\n bounds?: string;\n zoom?: string;\n startDay?: string;\n endDay?: string;\n};\n\nexport default function useSearchPageParams() {\n const pathname = usePathname();\n const { queryParams, updateQuery } = useQueryParams();\n\n const searchType = useMemo(() => {\n if (pathname.startsWith('/meeting-rooms')) {\n return SearchType.MeetingRoom;\n }\n if (pathname.startsWith('/locations')) {\n return SearchType.Location;\n }\n return SearchType.Coworking;\n }, [pathname]);\n\n return {\n searchType,\n queryParams,\n updateQuery,\n };\n}\n","import { useSearchParams } from 'next/navigation';\nimport { useCallback, useMemo } from 'react';\n\nimport { usePathname } from '@/i18n/navigation';\n\nimport { useRouter } from './useRouter';\n\ntype QueryParams = Record;\n\nexport default function useQueryParams() {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n const queryParams = useMemo(() => {\n if (searchParams == null) return {};\n\n const entries = searchParams.entries();\n const result: QueryParams = {};\n for (const [key, value] of entries) {\n result[key] = value;\n }\n return result;\n }, [searchParams]);\n\n const updateQuery = useCallback(\n (newParams: Partial) => {\n if (searchParams == null) return {};\n\n const current = new URLSearchParams(window.location.search);\n\n Object.keys(newParams).forEach((key) => {\n const value = newParams[key];\n if (value === undefined || value === null) {\n current.delete(key); // Remove param if undefined or null\n } else if (Array.isArray(value)) {\n current.delete(key);\n value.forEach((val) => current.append(key, val));\n } else {\n current.set(key, value.toString());\n }\n });\n\n if (current.size === 0) {\n clearQuery();\n }\n\n router.replace(`?${current.toString()}`, { scroll: false });\n },\n [searchParams]\n );\n\n const clearQuery = useCallback(() => {\n window.history.replaceState(null, '', pathname);\n }, [pathname]);\n\n return {\n queryParams: queryParams as T,\n updateQuery,\n clearQuery,\n };\n}\n","import { useEffect, useState } from 'react';\n\nexport function useWebGL() {\n const [isWebGLSupported, setWebGLsupported] = useState();\n\n useEffect(() => {\n if (isWebGLSupported !== undefined) return;\n\n (async () => {\n const mapboxgl = await import('mapbox-gl');\n setWebGLsupported(mapboxgl.supported());\n })();\n }, []);\n\n return { isWebGLSupported };\n}\n"],"names":["Promise","resolve","then","__webpack_require__","bind","t","SearchSchema","useTranslations","pathname","usePathname","HOST","getServerConfig","searchType","useSearchPageParams","searchSchema","getSearchSchema","param","meta_title","meta_description","name","url","description","potentialAction","target","concat","valueName","jsx_runtime","jsx","script","type","dangerouslySetInnerHTML","__html","JSON","stringify","queryParams","updateQuery","useQueryParams","useMemo","startsWith","SearchType","MeetingRoom","Location","Coworking","router","useRouter","searchParams","useSearchParams","entries","result","key","value","useCallback","current","URLSearchParams","window","location","search","Object","keys","newParams","forEach","delete","Array","isArray","append","val","set","toString","size","clearQuery","replace","scroll","history","replaceState","useWebGL","isWebGLSupported","setWebGLsupported","useState","useEffect","undefined","mapboxgl","e","supported"],"sourceRoot":""}