{"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]/[house].js\",\n    _this = this,\n    _s = $RefreshSig$();\n\nimport cn from 'classnames';\nimport CustomLink from 'components/customLink/CustomLink';\nimport { Arrow } from 'components/gui/Arrow';\nimport Button from 'components/gui/Button';\nimport CircleButton from 'components/gui/CircleButton';\nimport HouseInfos from 'components/houseInfos/HouseInfos';\nimport StatusBanner from 'components/statusBanner/StatusBanner';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport { imageBuilder } from 'lib/sanity';\nimport { useEffect, useState } from 'react';\nimport ApartmentsSlice from 'slices/ApartmentsSlice/ApartmentsSlice';\nimport ExploreSlice from 'slices/ExploreSlice/ExploreSlice';\nimport NeighborhoodSlice from 'slices/NeighborhoodSlice/NeighborhoodSlice';\nimport PicturesSlice from 'slices/PicturesSlice/PicturesSlice';\nimport ServicesSlice from 'slices/ServicesSlice/ServicesSlice';\nimport SliceIntro from 'slices/SliceIntro/SliceIntro';\nimport styles from './House.module.scss';\n\nvar HousePage = function HousePage(_ref) {\n  _s();\n\n  var lang = _ref.lang,\n      housesMenu = _ref.housesMenu,\n      house = _ref.house,\n      title = _ref.title,\n      housesMenuTitle = _ref.housesMenuTitle,\n      picturesIntro = _ref.picturesIntro,\n      servicesIntro = _ref.servicesIntro,\n      servicesOnDemand = _ref.servicesOnDemand,\n      servicesMutualized = _ref.servicesMutualized,\n      accommodationsIntro = _ref.accommodationsIntro,\n      neighbourhoodIntro = _ref.neighbourhoodIntro,\n      exploreIntro = _ref.exploreIntro,\n      shareHouse = _ref.shareHouse,\n      cityLink = _ref.cityLink,\n      citiesLink = _ref.citiesLink,\n      joinUs = _ref.joinUs;\n  //console.log(lang + '/' + city.slug + '/' + slug + ' HousePage.js::7 render', typeof window === 'undefined' ? 'SS' : 'CS')\n  var city = house.city,\n      hero = house.hero,\n      services = house.services,\n      matterport = house.matterport,\n      statusTextKey = house.statusTextKey,\n      accommodations = house.accommodations;\n\n  var _useState = useState(false),\n      menuOpen = _useState[0],\n      setMenuOpen = _useState[1]; // const locale = useLocale()\n  // console.log('[house].js::19 house', house)\n\n\n  var isDesktop = useIsDesktop();\n  var heroURL = hero ? imageBuilder.image(hero.asset).url() : 'https://www.colivingfactory.com/assets/coresider/images/1.png';\n  var picturesIntroStr = isDesktop ? picturesIntro : picturesIntro ? picturesIntro.replace(':', '').trim() : '';\n  var servicesIntroStr = isDesktop ? servicesIntro : servicesIntro ? servicesIntro.replace(':', '').trim() : '';\n  var accommodationsIntroStr = isDesktop ? accommodationsIntro : accommodationsIntro ? accommodationsIntro.replace(':', '').trim() : '';\n  var neighbourhoodIntroStr = isDesktop ? neighbourhoodIntro : neighbourhoodIntro ? neighbourhoodIntro.replace(':', '').trim() : '';\n  var exploreIntroStr = isDesktop ? exploreIntro : exploreIntro ? exploreIntro.replace(':', '').trim() : '';\n  var pictures = ['https://www.colivingfactory.com/assets/coresider/images/1.png', 'https://www.colivingfactory.com/assets/coresider/images/2.png', 'https://www.colivingfactory.com/assets/coresider/images/3.png', 'https://www.colivingfactory.com/assets/coresider/images/4.png', 'https://www.colivingfactory.com/assets/coresider/images/5.png' // 'https://www.colivingfactory.com/assets/coresider/images/1.png',\n  // 'https://www.colivingfactory.com/assets/coresider/images/2.png',\n  // 'https://www.colivingfactory.com/assets/coresider/images/3.png',\n  // 'https://www.colivingfactory.com/assets/coresider/images/4.png',\n  // 'https://www.colivingfactory.com/assets/coresider/images/5.png',\n  ];\n  var accommodationsAnchor = 'accommodations';\n  useEffect(function () {\n    if (typeof document === 'undefined') return;\n\n    if (menuOpen) {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth'\n      });\n    }\n\n    document.body.style.overflow = menuOpen ? 'hidden' : '';\n  }, [menuOpen]); // const clientWidth = useClientWidth()\n  // const clientHeight = useClientHeight()\n  // console.log('[house].js::57 housesMenu', housesMenu)\n\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"section\", {\n      className: cn(styles.introSlice),\n      style: {\n        backgroundImage: isDesktop && heroURL ? \"url(\".concat(heroURL, \")\") : undefined\n      },\n      children: [!isDesktop && /*#__PURE__*/_jsxDEV(_Fragment, {\n        children: [/*#__PURE__*/_jsxDEV(Button, {\n          className: cn(styles.titleButton, menuOpen && styles.titleButtonOpen),\n          onClick: function onClick() {\n            return setMenuOpen(!menuOpen);\n          },\n          children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n            className: cn('h--2'),\n            children: menuOpen ? housesMenuTitle : title //.replace('{house}', house.title).replace('{city}', house.city.title)\n\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 119,\n            columnNumber: 6\n          }, _this), /*#__PURE__*/_jsxDEV(Arrow, {\n            direction: \"down\",\n            size: \"medium\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 123,\n            columnNumber: 6\n          }, _this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 115,\n          columnNumber: 5\n        }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n          className: cn(styles.housesMenu, menuOpen && styles.housesMenuOpen),\n          children: housesMenu.map(function (city) {\n            return city.houses && city.houses.length > 0 && /*#__PURE__*/_jsxDEV(\"div\", {\n              className: cn(styles.cityGroup),\n              children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n                className: cn('h--3'),\n                children: city.title\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 131,\n                columnNumber: 8\n              }, _this), /*#__PURE__*/_jsxDEV(\"ul\", {\n                children: city.houses.map(function (house) {\n                  return /*#__PURE__*/_jsxDEV(\"li\", {\n                    children: /*#__PURE__*/_jsxDEV(CustomLink, {\n                      href: house.url,\n                      children: [/*#__PURE__*/_jsxDEV(\"span\", {\n                        children: house.title\n                      }, void 0, false, {\n                        fileName: _jsxFileName,\n                        lineNumber: 136,\n                        columnNumber: 12\n                      }, _this), /*#__PURE__*/_jsxDEV(Arrow, {\n                        direction: \"right\",\n                        size: \"small\",\n                        color: \"white\"\n                      }, void 0, false, {\n                        fileName: _jsxFileName,\n                        lineNumber: 137,\n                        columnNumber: 12\n                      }, _this)]\n                    }, void 0, true, {\n                      fileName: _jsxFileName,\n                      lineNumber: 135,\n                      columnNumber: 11\n                    }, _this)\n                  }, void 0, false, {\n                    fileName: _jsxFileName,\n                    lineNumber: 134,\n                    columnNumber: 10\n                  }, _this);\n                })\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 132,\n                columnNumber: 8\n              }, _this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 130,\n              columnNumber: 7\n            }, _this);\n          })\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 126,\n          columnNumber: 5\n        }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n          className: cn(styles.hero),\n          children: [/*#__PURE__*/_jsxDEV(\"img\", {\n            src: heroURL\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 149,\n            columnNumber: 6\n          }, _this), /*#__PURE__*/_jsxDEV(CircleButton, {\n            className: cn(styles.shareButton),\n            icon: \"share\",\n            onClick: function onClick() {}\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 150,\n            columnNumber: 6\n          }, _this), /*#__PURE__*/_jsxDEV(StatusBanner // className={cn(styles.banner)}\n          , {\n            status: statusTextKey\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 155,\n            columnNumber: 6\n          }, _this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 146,\n          columnNumber: 5\n        }, _this)]\n      }, void 0, true), /*#__PURE__*/_jsxDEV(HouseInfos, {\n        className: cn(styles.houseInfos),\n        house: house,\n        narrow: !isDesktop,\n        renderTitle: isDesktop,\n        renderText: true,\n        buttonLabel: \"D\\xE9couvrir les appartements\" //`Rejoindre ${house.title}`\n        ,\n        buttonHref: '#TODO'\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 164,\n        columnNumber: 5\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 100,\n      columnNumber: 4\n    }, _this), /*#__PURE__*/_jsxDEV(PicturesSlice, {\n      introText: picturesIntroStr,\n      pictures: pictures,\n      matterport: matterport\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 186,\n      columnNumber: 4\n    }, _this), /*#__PURE__*/_jsxDEV(ServicesSlice, {\n      introText: servicesIntroStr,\n      onDemand: servicesOnDemand,\n      mutualized: servicesMutualized,\n      services: services\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 192,\n      columnNumber: 4\n    }, _this), accommodations && /*#__PURE__*/_jsxDEV(ApartmentsSlice, {\n      id: accommodationsAnchor,\n      introText: accommodationsIntroStr,\n      house: house,\n      accommodations: accommodations\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 202,\n      columnNumber: 5\n    }, _this), /*#__PURE__*/_jsxDEV(NeighborhoodSlice, {\n      introText: neighbourhoodIntroStr,\n      house: house\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 210,\n      columnNumber: 4\n    }, _this), /*#__PURE__*/_jsxDEV(ExploreSlice, {\n      introText: exploreIntroStr,\n      house: house,\n      shareHouse: shareHouse,\n      cityLink: cityLink,\n      cityURL: \"/\".concat(lang, \"/\").concat(city.slug),\n      citiesLink: citiesLink,\n      joinUs: joinUs\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 215,\n      columnNumber: 4\n    }, _this), isDesktop && /*#__PURE__*/_jsxDEV(SliceIntro, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 234,\n      columnNumber: 18\n    }, _this)]\n  }, void 0, true);\n};\n\n_s(HousePage, \"/LthX+M+nDwcw5m/iWqR14MuPHo=\", false, function () {\n  return [useIsDesktop];\n});\n\n_c = HousePage;\nexport var __N_SSG = true;\nexport default HousePage;\n\nvar _c;\n\n$RefreshReg$(_c, \"HousePage\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/pages/[lang]/[city]/[house].js"],"names":["cn","CustomLink","Arrow","Button","CircleButton","HouseInfos","StatusBanner","useIsDesktop","imageBuilder","useEffect","useState","ApartmentsSlice","ExploreSlice","NeighborhoodSlice","PicturesSlice","ServicesSlice","SliceIntro","styles","HousePage","lang","housesMenu","house","title","housesMenuTitle","picturesIntro","servicesIntro","servicesOnDemand","servicesMutualized","accommodationsIntro","neighbourhoodIntro","exploreIntro","shareHouse","cityLink","citiesLink","joinUs","city","hero","services","matterport","statusTextKey","accommodations","menuOpen","setMenuOpen","isDesktop","heroURL","image","asset","url","picturesIntroStr","replace","trim","servicesIntroStr","accommodationsIntroStr","neighbourhoodIntroStr","exploreIntroStr","pictures","accommodationsAnchor","document","window","scrollTo","top","behavior","body","style","overflow","introSlice","backgroundImage","undefined","titleButton","titleButtonOpen","housesMenuOpen","map","houses","length","cityGroup","shareButton","houseInfos","slug"],"mappings":"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","sourcesContent":["import cn from 'classnames'\nimport CustomLink from 'components/customLink/CustomLink'\nimport { Arrow } from 'components/gui/Arrow'\nimport Button from 'components/gui/Button'\nimport CircleButton from 'components/gui/CircleButton'\nimport HouseInfos from 'components/houseInfos/HouseInfos'\nimport StatusBanner from 'components/statusBanner/StatusBanner'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport { getHouseBySlug, getHousePage, getHousesMenu, getHousesSlugs } from 'lib/api'\nimport { imageBuilder } from 'lib/sanity'\nimport { useEffect, useState } from 'react'\nimport ApartmentsSlice from 'slices/ApartmentsSlice/ApartmentsSlice'\nimport ExploreSlice from 'slices/ExploreSlice/ExploreSlice'\nimport NeighborhoodSlice from 'slices/NeighborhoodSlice/NeighborhoodSlice'\nimport PicturesSlice from 'slices/PicturesSlice/PicturesSlice'\nimport ServicesSlice from 'slices/ServicesSlice/ServicesSlice'\nimport SliceIntro from 'slices/SliceIntro/SliceIntro'\nimport styles from './House.module.scss'\n\n\n\nconst HousePage = ({ lang,\n\thousesMenu,\n\thouse,\n\n\t// intro\n\ttitle,\n\thousesMenuTitle,\n\n\t// pics\n\tpicturesIntro,\n\t\n\t// services\n\tservicesIntro,\n\tservicesOnDemand,\n\tservicesMutualized,\n\t\n\t// accommodations\n\taccommodationsIntro,\n\t\n\t//neighbourhood\n\tneighbourhoodIntro,\n\t\n\t// explore\n\texploreIntro,\n\tshareHouse,\n\tcityLink,\n\tcitiesLink,\n\tjoinUs\n\n}) => {\n\t//console.log(lang + '/' + city.slug + '/' + slug + ' HousePage.js::7 render', typeof window === 'undefined' ? 'SS' : 'CS')\n\tconst { city, hero, services, matterport, statusTextKey, accommodations, } = house\n\n\tconst [menuOpen, setMenuOpen] = useState(false)\n\n\t// const locale = useLocale()\n\t// console.log('[house].js::19 house', house)\n\n\tconst isDesktop = useIsDesktop()\n\n\tconst heroURL = hero ? imageBuilder.image(hero.asset).url() : 'https://www.colivingfactory.com/assets/coresider/images/1.png'\n\tconst picturesIntroStr = isDesktop ? picturesIntro : picturesIntro ? picturesIntro.replace(':', '').trim() : ''\n\tconst servicesIntroStr = isDesktop ? servicesIntro : servicesIntro ? servicesIntro.replace(':', '').trim() : ''\n\tconst accommodationsIntroStr = isDesktop ? accommodationsIntro : accommodationsIntro ? accommodationsIntro.replace(':', '').trim() : ''\n\tconst neighbourhoodIntroStr = isDesktop ? neighbourhoodIntro : neighbourhoodIntro ? neighbourhoodIntro.replace(':', '').trim() : ''\n\tconst exploreIntroStr = isDesktop ? exploreIntro : exploreIntro ? exploreIntro.replace(':', '').trim() : ''\n\n\tconst pictures = [\n\t\t'https://www.colivingfactory.com/assets/coresider/images/1.png',\n\t\t'https://www.colivingfactory.com/assets/coresider/images/2.png',\n\t\t'https://www.colivingfactory.com/assets/coresider/images/3.png',\n\t\t'https://www.colivingfactory.com/assets/coresider/images/4.png',\n\t\t'https://www.colivingfactory.com/assets/coresider/images/5.png',\n\t\t// 'https://www.colivingfactory.com/assets/coresider/images/1.png',\n\t\t// 'https://www.colivingfactory.com/assets/coresider/images/2.png',\n\t\t// 'https://www.colivingfactory.com/assets/coresider/images/3.png',\n\t\t// 'https://www.colivingfactory.com/assets/coresider/images/4.png',\n\t\t// 'https://www.colivingfactory.com/assets/coresider/images/5.png',\n\t]\n\n\tconst accommodationsAnchor = 'accommodations'\n\n\tuseEffect(() => {\n\t\tif (typeof document === 'undefined') return;\n\t\tif(menuOpen) {\n\t\t\twindow.scrollTo({ top: 0, behavior: 'smooth' })\n\t\t}\n\t\tdocument.body.style.overflow = menuOpen ? 'hidden' : ''\n\t}, [menuOpen])\n\n\t// const clientWidth = useClientWidth()\n\t// const clientHeight = useClientHeight()\n\n\t// console.log('[house].js::57 housesMenu', housesMenu)\n\n\n\treturn (\n\t\t<>\n\t\t\t<section\n\t\t\t\tclassName={cn(styles.introSlice)}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundImage: isDesktop && heroURL ? `url(${heroURL})` : undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/*!isDesktop &&\n\t\t\t\t\t<SlideshowWithTitle\n\t\t\t\t\t\tclassName={cn(styles.slideshow)}\n\t\t\t\t\t\ttitle={house.title}\n\t\t\t\t\t\timages={[backgroundImageURL, ...pictures]}\n\t\t\t\t\t\t/>\n\t\t\t\t*/}\n\n\t\t\t\t{!isDesktop && <>\n\t\t\t\t<Button\n\t\t\t\t\tclassName={cn(styles.titleButton, menuOpen && styles.titleButtonOpen)}\n\t\t\t\t\tonClick={() => setMenuOpen(!menuOpen)}\n\t\t\t\t\t>\n\t\t\t\t\t<h1 className={cn('h--2')}>{menuOpen\n\t\t\t\t\t\t\t? housesMenuTitle\n\t\t\t\t\t\t\t: title//.replace('{house}', house.title).replace('{city}', house.city.title)\n\t\t\t\t\t\t\t}</h1>\n\t\t\t\t\t<Arrow direction='down' size='medium' />\n\t\t\t\t</Button>\n\t\t\t\t\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(styles.housesMenu, menuOpen && styles.housesMenuOpen)}\n\t\t\t\t\t>\n\t\t\t\t\t{housesMenu.map(city => (city.houses && city.houses.length > 0) &&\n\t\t\t\t\t\t<div className={cn(styles.cityGroup)}>\n\t\t\t\t\t\t\t<h3 className={cn('h--3')}>{city.title}</h3>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{city.houses.map(house =>\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<CustomLink href={house.url}>\n\t\t\t\t\t\t\t\t\t\t\t<span>{house.title}</span>\n\t\t\t\t\t\t\t\t\t\t\t<Arrow direction='right' size='small' color='white' />\n\t\t\t\t\t\t\t\t\t\t</CustomLink>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(styles.hero)}\n\t\t\t\t\t>\n\t\t\t\t\t<img src={heroURL} />\n\t\t\t\t\t<CircleButton\n\t\t\t\t\t\tclassName={cn(styles.shareButton)}\n\t\t\t\t\t\ticon='share'\n\t\t\t\t\t\tonClick={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t\t<StatusBanner\n\t\t\t\t\t\t// className={cn(styles.banner)}\n\t\t\t\t\t\tstatus={statusTextKey}\n\t\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t</>}\n\n\n\t\t\t\t<HouseInfos\n\t\t\t\t\tclassName={cn(styles.houseInfos)}\n\t\t\t\t\thouse={house}\n\t\t\t\t\tnarrow={!isDesktop}\n\t\t\t\t\trenderTitle={isDesktop}\n\t\t\t\t\trenderText={true}\n\t\t\t\t\tbuttonLabel={`Découvrir les appartements`} //`Rejoindre ${house.title}`\n\t\t\t\t\tbuttonHref={'#TODO'}\n\t\t\t\t/>\n\t\t\t</section>\n\n\t\t\t{/* <div className={cn(styles.matterport)}>\n\t\t\t\t<iframe\n\t\t\t\t\twidth={clientWidth}\n\t\t\t\t\theight={parseInt(clientHeight * 0.9)}\n\t\t\t\t\tsrc=\"https://my.matterport.com/show/?m=8uvuLECTv6S\"\n\t\t\t\t\tframeBorder=\"0\"\n\t\t\t\t\tallowfullscreen \n\t\t\t\t\tallow=\"xr-spatial-tracking\">\n\t\t\t\t</iframe>\n\t\t\t</div> */}\n\n\t\t\t<PicturesSlice\n\t\t\t\tintroText={picturesIntroStr}\n\t\t\t\tpictures={pictures}\n\t\t\t\tmatterport={matterport}\n\t\t\t/>\n\n\t\t\t<ServicesSlice\n\t\t\t\tintroText={servicesIntroStr}\n\t\t\t\tonDemand={servicesOnDemand}\n\t\t\t\tmutualized={servicesMutualized}\n\t\t\t\tservices={services}\n\t\t\t/>\n\n\t\t\t{/* -- apartments   accommodationsIntro  */}\n\n\t\t\t{accommodations &&\n\t\t\t\t<ApartmentsSlice\n\t\t\t\t\tid={accommodationsAnchor}\n\t\t\t\t\tintroText={accommodationsIntroStr}\n\t\t\t\t\thouse={house}\n\t\t\t\t\taccommodations={accommodations}\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<NeighborhoodSlice\n\t\t\t\tintroText={neighbourhoodIntroStr}\n\t\t\t\thouse={house}\n\t\t\t/>\n\n\t\t\t<ExploreSlice\n\t\t\t\tintroText={exploreIntroStr}\n\t\t\t\thouse={house}\n\t\t\t\tshareHouse={shareHouse}\n\t\t\t\tcityLink={cityLink}\n\t\t\t\tcityURL={`/${lang}/${city.slug}`}\n\t\t\t\tcitiesLink={citiesLink}\n\t\t\t\tjoinUs={joinUs}\n\t\t\t/>\n\n\t\t\t{/* {accommodations && accommodations.map(accommodation =>\n\t\t\t\t<div key={accommodation._id} className={cn(styles.accommodation)}>\n\t\t\t\t\t<h3>{accommodation.title}</h3>\n\t\t\t\t\t<p>{accommodation.surface}</p>\n\t\t\t\t\t<p>{accommodation.price}</p>\n\t\t\t\t\t<p>{accommodation.available ? 'Dispo - Postuler' : 'Non dispo - Etre avertit des disponibilités.'}</p>\n\t\t\t\t</div>\n\t\t\t)} */}\n\n\t\t\t{isDesktop && <SliceIntro />}\n\t\t</>\n\t)\n}\n\nexport async function getStaticProps({ params: { lang, city, house, }, preview = false, previewData }) {\n\tconst props = await getHouseBySlug(house, lang, preview)\n\tconst housePage = await getHousePage(lang, preview)\n\tconst housesMenu = await getHousesMenu(lang)\n\n\tconst title = housePage.title\n\t\t? housePage.title.replace('{house}', props.title).replace('{city}', props.city.title)\n\t\t: props.title\n\n\treturn {\n\t\tprops: { ...housePage, title, housesMenu, house: props, lang, citySlug: city, preview,\n\t\t\tlayoutProps: {\n\t\t\t\tpageTitle: title,\n\t\t\t},\n\t\t}\n\t}\n}\n\nexport async function getStaticPaths() {\n\tconst houses = await getHousesSlugs()\n\n\treturn {\n\t\tpaths: houses.map(page => ({ params: page })),\n\t\tfallback: false,\n\t}\n}\n\nexport default HousePage\n"]},"metadata":{},"sourceType":"module"}