{"ast":null,"code":"import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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 { 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\nconst HousePage = ({\n  lang,\n  housesMenu,\n  house,\n  // intro\n  title,\n  housesMenuTitle,\n  // pics\n  picturesIntro,\n  // services\n  servicesIntro,\n  servicesOnDemand,\n  servicesMutualized,\n  // accommodations\n  accommodationsIntro,\n  //neighbourhood\n  neighbourhoodIntro,\n  // explore\n  exploreIntro,\n  shareHouse,\n  cityLink,\n  citiesLink,\n  joinUs\n}) => {\n  //console.log(lang + '/' + city.slug + '/' + slug + ' HousePage.js::7 render', typeof window === 'undefined' ? 'SS' : 'CS')\n  const {\n    city,\n    hero,\n    services,\n    matterport,\n    statusTextKey,\n    accommodations\n  } = house;\n  const {\n    0: menuOpen,\n    1: setMenuOpen\n  } = useState(false); // const locale = useLocale()\n  // console.log('[house].js::19 house', house)\n\n  const isDesktop = useIsDesktop();\n  const heroURL = hero ? imageBuilder.image(hero.asset).url() : 'https://www.colivingfactory.com/assets/coresider/images/1.png';\n  const picturesIntroStr = isDesktop ? picturesIntro : picturesIntro ? picturesIntro.replace(':', '').trim() : '';\n  const servicesIntroStr = isDesktop ? servicesIntro : servicesIntro ? servicesIntro.replace(':', '').trim() : '';\n  const accommodationsIntroStr = isDesktop ? accommodationsIntro : accommodationsIntro ? accommodationsIntro.replace(':', '').trim() : '';\n  const neighbourhoodIntroStr = isDesktop ? neighbourhoodIntro : neighbourhoodIntro ? neighbourhoodIntro.replace(':', '').trim() : '';\n  const exploreIntroStr = isDesktop ? exploreIntro : exploreIntro ? exploreIntro.replace(':', '').trim() : '';\n  const 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  const accommodationsAnchor = 'accommodations';\n  useEffect(() => {\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__*/_jsxs(_Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"section\", {\n      className: cn(styles.introSlice),\n      style: {\n        backgroundImage: isDesktop && heroURL ? `url(${heroURL})` : undefined\n      },\n      children: [!isDesktop && /*#__PURE__*/_jsxs(_Fragment, {\n        children: [/*#__PURE__*/_jsxs(Button, {\n          className: cn(styles.titleButton, menuOpen && styles.titleButtonOpen),\n          onClick: () => setMenuOpen(!menuOpen),\n          children: [/*#__PURE__*/_jsx(\"h1\", {\n            className: cn('h--2'),\n            children: menuOpen ? housesMenuTitle : title //.replace('{house}', house.title).replace('{city}', house.city.title)\n\n          }), /*#__PURE__*/_jsx(Arrow, {\n            direction: \"down\",\n            size: \"medium\"\n          })]\n        }), /*#__PURE__*/_jsx(\"div\", {\n          className: cn(styles.housesMenu, menuOpen && styles.housesMenuOpen),\n          children: housesMenu.map(city => city.houses && city.houses.length > 0 && /*#__PURE__*/_jsxs(\"div\", {\n            className: cn(styles.cityGroup),\n            children: [/*#__PURE__*/_jsx(\"h3\", {\n              className: cn('h--3'),\n              children: city.title\n            }), /*#__PURE__*/_jsx(\"ul\", {\n              children: city.houses.map(house => /*#__PURE__*/_jsx(\"li\", {\n                children: /*#__PURE__*/_jsxs(CustomLink, {\n                  href: house.url,\n                  children: [/*#__PURE__*/_jsx(\"span\", {\n                    children: house.title\n                  }), /*#__PURE__*/_jsx(Arrow, {\n                    direction: \"right\",\n                    size: \"small\",\n                    color: \"white\"\n                  })]\n                })\n              }))\n            })]\n          }))\n        }), /*#__PURE__*/_jsxs(\"div\", {\n          className: cn(styles.hero),\n          children: [/*#__PURE__*/_jsx(\"img\", {\n            src: heroURL\n          }), /*#__PURE__*/_jsx(CircleButton, {\n            className: cn(styles.shareButton),\n            icon: \"share\",\n            onClick: () => {}\n          }), /*#__PURE__*/_jsx(StatusBanner // className={cn(styles.banner)}\n          , {\n            status: statusTextKey\n          })]\n        })]\n      }), /*#__PURE__*/_jsx(HouseInfos, {\n        className: cn(styles.houseInfos),\n        house: house,\n        narrow: !isDesktop,\n        renderTitle: isDesktop,\n        renderText: true,\n        buttonLabel: `Découvrir les appartements` //`Rejoindre ${house.title}`\n        ,\n        buttonHref: '#TODO'\n      })]\n    }), /*#__PURE__*/_jsx(PicturesSlice, {\n      introText: picturesIntroStr,\n      pictures: pictures,\n      matterport: matterport\n    }), /*#__PURE__*/_jsx(ServicesSlice, {\n      introText: servicesIntroStr,\n      onDemand: servicesOnDemand,\n      mutualized: servicesMutualized,\n      services: services\n    }), accommodations && /*#__PURE__*/_jsx(ApartmentsSlice, {\n      id: accommodationsAnchor,\n      introText: accommodationsIntroStr,\n      house: house,\n      accommodations: accommodations\n    }), /*#__PURE__*/_jsx(NeighborhoodSlice, {\n      introText: neighbourhoodIntroStr,\n      house: house\n    }), /*#__PURE__*/_jsx(ExploreSlice, {\n      introText: exploreIntroStr,\n      house: house,\n      shareHouse: shareHouse,\n      cityLink: cityLink,\n      cityURL: `/${lang}/${city.slug}`,\n      citiesLink: citiesLink,\n      joinUs: joinUs\n    }), isDesktop && /*#__PURE__*/_jsx(SliceIntro, {})]\n  });\n};\n\nexport async function getStaticProps({\n  params: {\n    lang,\n    city,\n    house\n  },\n  preview = false,\n  previewData\n}) {\n  const props = await getHouseBySlug(house, lang, preview);\n  const housePage = await getHousePage(lang, preview);\n  const housesMenu = await getHousesMenu(lang);\n  const title = housePage.title ? housePage.title.replace('{house}', props.title).replace('{city}', props.city.title) : props.title;\n  return {\n    props: _objectSpread(_objectSpread({}, housePage), {}, {\n      title,\n      housesMenu,\n      house: props,\n      lang,\n      citySlug: city,\n      preview,\n      layoutProps: {\n        pageTitle: title\n      }\n    })\n  };\n}\nexport async function getStaticPaths() {\n  const houses = await getHousesSlugs();\n  return {\n    paths: houses.map(page => ({\n      params: page\n    })),\n    fallback: false\n  };\n}\nexport default HousePage;","map":null,"metadata":{},"sourceType":"module"}