{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"/home/gkkdzdg/www/src/pages/[lang]/[city].js\",\n    _this = this,\n    _s = $RefreshSig$();\n\nimport cn from 'classnames';\nimport { ArrowDownButton } from 'components/gui/Arrow';\nimport BoxButton from 'components/gui/BoxButton';\nimport { CityStrip } from 'components/strips/Strip';\nimport VideoLoop from 'components/VideoLoop/VideoLoop';\nimport useLocale from 'contexts/useLocale';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport HTMLReactParser from 'html-react-parser';\nimport { imageBuilder } from 'lib/sanity';\nimport CityMapSlice from 'slices/CityMapSlice/CityMapSlice';\nimport SliceIntro from 'slices/SliceIntro/SliceIntro';\nimport styles from './City.module.scss';\n\nvar CityPage = function CityPage(_ref) {\n  _s();\n\n  var lang = _ref.lang,\n      slug = _ref.slug,\n      title = _ref.title,\n      videos = _ref.videos,\n      hero = _ref.hero,\n      houses = _ref.houses,\n      mapIntro = _ref.mapIntro,\n      open = _ref.open,\n      areas = _ref.areas,\n      department = _ref.department,\n      housesCount = _ref.housesCount,\n      availableCount = _ref.availableCount,\n      searchPlaceholderShort = _ref.searchPlaceholderShort,\n      searchPlaceholderLong = _ref.searchPlaceholderLong;\n  var locale = useLocale();\n  var backgroundImageURL = hero ? imageBuilder.image(hero.asset).url() : 'https://www.colivingfactory.com/assets/coresider/images/1.png';\n  var isDesktop = useIsDesktop();\n  var mapIntroStr = isDesktop ? mapIntro : mapIntro ? mapIntro.replace(':', '').trim() : '';\n  var searchPlaceholder = isDesktop ? searchPlaceholderLong : searchPlaceholderShort;\n  var housesCountHtml = locale(\"houses-count\", housesCount).replace('#', \"<span class='bold'>\".concat(housesCount, \"</span>\"));\n  var availableCountHtml = locale(\"available-accommodations\", availableCount).replace('#', \"<span class='bold'>\".concat(availableCount, \"</span>\"));\n  var housesAnchor = lang == 'fr' ? 'nos-habitations' : 'our-houses';\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"section\", {\n      className: cn(styles.firstSlice),\n      style: {\n        backgroundImage: !videos && backgroundImageURL ? \"url(\".concat(backgroundImageURL, \")\") : undefined\n      },\n      children: [videos && /*#__PURE__*/_jsxDEV(VideoLoop, {\n        videos: videos\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 56,\n        columnNumber: 16\n      }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: styles.firstSliceContent,\n        children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n          className: cn('h--1', styles.title),\n          children: title\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 61,\n          columnNumber: 6\n        }, _this), areas && /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--l', styles.area),\n          children: areas\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 63,\n          columnNumber: 16\n        }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--l'),\n          children: [HTMLReactParser(housesCountHtml), \",\"]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 64,\n          columnNumber: 6\n        }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--l'),\n          children: [HTMLReactParser(availableCountHtml), \".\"]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 65,\n          columnNumber: 6\n        }, _this), isDesktop && /*#__PURE__*/_jsxDEV(BoxButton, {\n          className: cn(styles.boxButton),\n          label: 'Découvrir les habitations',\n          href: '#' + housesAnchor,\n          fullWidth: true,\n          icon: \"right\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 67,\n          columnNumber: 7\n        }, _this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 60,\n        columnNumber: 5\n      }, _this), !isDesktop && /*#__PURE__*/_jsxDEV(ArrowDownButton, {\n        htmlText: 'Découvrir les habitations',\n        className: cn(styles.arrowDownCont),\n        href: '#' + housesAnchor,\n        color: 'white'\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 77,\n        columnNumber: 20\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 50,\n      columnNumber: 4\n    }, _this), houses && /*#__PURE__*/_jsxDEV(CityMapSlice, {\n      id: housesAnchor,\n      introText: mapIntroStr,\n      houses: houses,\n      searchPlaceholder: searchPlaceholder\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 86,\n      columnNumber: 5\n    }, _this), isDesktop && /*#__PURE__*/_jsxDEV(SliceIntro, {\n      left: true\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 95,\n      columnNumber: 18\n    }, _this)]\n  }, void 0, true);\n};\n\n_s(CityPage, \"TKK1nOW8SEuYyc3TC/D84NhtwKs=\", false, function () {\n  return [useLocale, useIsDesktop];\n});\n\n_c = CityPage;\nexport var __N_SSG = true;\nexport default CityPage;\n\nvar _c;\n\n$RefreshReg$(_c, \"CityPage\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/pages/[lang]/[city].js"],"names":["cn","ArrowDownButton","BoxButton","CityStrip","VideoLoop","useLocale","useIsDesktop","HTMLReactParser","imageBuilder","CityMapSlice","SliceIntro","styles","CityPage","lang","slug","title","videos","hero","houses","mapIntro","open","areas","department","housesCount","availableCount","searchPlaceholderShort","searchPlaceholderLong","locale","backgroundImageURL","image","asset","url","isDesktop","mapIntroStr","replace","trim","searchPlaceholder","housesCountHtml","availableCountHtml","housesAnchor","firstSlice","backgroundImage","undefined","firstSliceContent","area","boxButton","arrowDownCont"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport { ArrowDownButton } from 'components/gui/Arrow'\nimport BoxButton from 'components/gui/BoxButton'\nimport { CityStrip } from 'components/strips/Strip'\nimport VideoLoop from 'components/VideoLoop/VideoLoop'\nimport useLocale from 'contexts/useLocale'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport HTMLReactParser from 'html-react-parser'\nimport { getCitiesSlugs, getCityBySlug, getCityPage } from 'lib/api'\nimport { imageBuilder } from 'lib/sanity'\nimport CityMapSlice from 'slices/CityMapSlice/CityMapSlice'\nimport SliceIntro from 'slices/SliceIntro/SliceIntro'\nimport styles from './City.module.scss'\n\n\nconst CityPage = ({ lang, slug,\n\ttitle,\n\tvideos,\n\thero,\n\thouses,\n\tmapIntro,\n\topen,\n\tareas,\n\tdepartment,\n\thousesCount,\n\tavailableCount,\n\tsearchPlaceholderShort,\n\tsearchPlaceholderLong,\n}) => {\n\n\tconst locale = useLocale()\n\n\tconst backgroundImageURL = hero ? imageBuilder.image(hero.asset).url() : 'https://www.colivingfactory.com/assets/coresider/images/1.png'\n\n\tconst isDesktop = useIsDesktop()\n\n\tconst mapIntroStr = isDesktop ? mapIntro : mapIntro ? mapIntro.replace(':', '').trim() : ''\n\tconst searchPlaceholder = isDesktop ? searchPlaceholderLong : searchPlaceholderShort\n\n\tconst housesCountHtml = locale(`houses-count`, housesCount)\n\t\t.replace('#', `<span class='bold'>${housesCount}</span>`)\n\tconst availableCountHtml = locale(`available-accommodations`, availableCount)\n\t\t.replace('#', `<span class='bold'>${availableCount}</span>`)\n\n\tconst housesAnchor = lang == 'fr' ? 'nos-habitations' : 'our-houses'\n\n\treturn (\n\t\t<>\n\t\t\t<section\n\t\t\t\tclassName={cn(styles.firstSlice,)}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundImage: (!videos && backgroundImageURL) ? `url(${backgroundImageURL})` : undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{videos && <VideoLoop\n\t\t\t\t\tvideos={videos}\n\t\t\t\t/>}\n\n\t\t\t\t<div className={styles.firstSliceContent}>\n\t\t\t\t\t<h2 className={cn('h--1', styles.title)}>{title}</h2>\n\t\t\t\t\t{/* <p className={cn('p--m')}>{department}{!open && <><br />{'Ouvertures prochaines.'}</>}</p> */}\n\t\t\t\t\t{areas && <p className={cn('p--l', styles.area)}>{areas}</p>}\n\t\t\t\t\t<p className={cn('p--l')}>{HTMLReactParser(housesCountHtml)},</p>\n\t\t\t\t\t<p className={cn('p--l')}>{HTMLReactParser(availableCountHtml)}.</p>\n\t\t\t\t\t{isDesktop &&\n\t\t\t\t\t\t<BoxButton\n\t\t\t\t\t\t\tclassName={cn(styles.boxButton)}\n\t\t\t\t\t\t\tlabel={'Découvrir les habitations'}\n\t\t\t\t\t\t\thref={'#' + housesAnchor}\n\t\t\t\t\t\t\tfullWidth={true}\n\t\t\t\t\t\t\ticon='right'\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\n\t\t\t\t{!isDesktop && <ArrowDownButton\n\t\t\t\t\thtmlText={'Découvrir les habitations'}\n\t\t\t\t\tclassName={cn(styles.arrowDownCont)}\n\t\t\t\t\thref={'#' + housesAnchor}\n\t\t\t\t\tcolor={'white'}\n\t\t\t\t/>}\n\t\t\t</section>\n\n\t\t\t{houses &&\n\t\t\t\t<CityMapSlice\n\t\t\t\t\tid={housesAnchor}\n\t\t\t\t\tintroText={mapIntroStr}\n\t\t\t\t\thouses={houses}\n\t\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\t/>\n\t\t\t}\n\n\n\t\t\t{isDesktop && <SliceIntro left />}\n\t\t</>\n\t)\n}\n\nexport async function getStaticProps({ params: { lang, city }, preview = false, previewData }) {\n\tconst cityPage = await getCityPage(lang, preview)\n\tconst props = await getCityBySlug(city, lang, preview)\n\n\treturn {\n\t\tprops: { ...cityPage, ...props, lang, preview, }\n\t}\n}\n\nexport async function getStaticPaths() {\n\tconst cities = await getCitiesSlugs()\n\t// console.log('[city].js::65 cities', cities)\n\n\treturn {\n\t\tpaths: cities.map(page => ({ params: page })),\n\t\tfallback: false,\n\t}\n}\n\nexport default CityPage\n"]},"metadata":{},"sourceType":"module"}