{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/slices/ApartmentsSlice/ApartmentsList.js\";\nimport cn from 'classnames';\nimport Bubble from 'components/bubble/Bubble';\nimport BoxButton from 'components/gui/BoxButton';\nimport CircleButton from 'components/gui/CircleButton';\nimport HouseInfos from 'components/houseInfos/HouseInfos';\nimport List from 'components/list/List';\nimport StatusBanner from 'components/statusBanner/StatusBanner';\nimport { TypeformOverlay } from 'components/typeform/Typeform';\nimport useLang from 'contexts/useLang';\nimport useLocale from 'contexts/useLocale';\nimport useLocaleDate from 'contexts/useLocaleDate';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport HTMLReactParser from 'html-react-parser';\nimport { getNewsPage, imageBuilder } from 'lib/api';\nimport Link from 'next/link';\nimport { useState } from 'react';\nimport styles from './ApartmentsList.module.scss';\nexport const ApartmentItem = ({\n  className,\n  accommodation,\n  house\n}) => {\n  const locale = useLocale();\n  const isDesktop = useIsDesktop();\n  console.log('ApartmentsList.js::25 accommodation', accommodation);\n  const ownSurfaceHtml = locale(`own-surface`).replace('#', `<span class='bold'>${accommodation.surface}</span>`);\n  const sharedSurfaceHtml = locale(`shared-surface`).replace('#', `<span class='bold'>${house.surface}</span>`);\n  const {\n    0: showApply,\n    1: setShowApply\n  } = useState(false); //const inner = <li\n\n  return /*#__PURE__*/_jsxDEV(\"li\", {\n    className: cn(styles.listItem, // highlight && styles.highlight,\n    // !house.open && styles.notOpened,\n    className),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.title),\n      children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n        className: cn('h--3'),\n        children: accommodation.title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 48,\n        columnNumber: 10\n      }, this), /*#__PURE__*/_jsxDEV(StatusBanner, {\n        className: cn(styles.banner),\n        status: accommodation.statusTextKey || 'available'\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 49,\n        columnNumber: 10\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 47,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.infosContainer),\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        style: {\n          flex: 1\n        },\n        children: [/*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m'),\n          children: HTMLReactParser(ownSurfaceHtml)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 58,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m'),\n          children: HTMLReactParser(sharedSurfaceHtml)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 59,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 57,\n        columnNumber: 10\n      }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n        children: [/*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m', 'bold'),\n          children: accommodation.price\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 62,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m'),\n          children: locale('taxes-included')\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 63,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 61,\n        columnNumber: 10\n      }, this), /*#__PURE__*/_jsxDEV(CircleButton, {\n        className: cn(styles.priceButton),\n        icon: \"info\",\n        size: \"small\",\n        color: \"white\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 65,\n        columnNumber: 10\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 56,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(BoxButton, {\n      className: cn(styles.button),\n      label: locale('apply'),\n      fullWidth: true,\n      onClick: () => setShowApply(true),\n      icon: \"right\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 73,\n      columnNumber: 7\n    }, this), showApply && /*#__PURE__*/_jsxDEV(TypeformOverlay, {\n      onClose: () => setShowApply(false)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 81,\n      columnNumber: 21\n    }, this)]\n  }, accommodation.key, true, {\n    fileName: _jsxFileName,\n    lineNumber: 37,\n    columnNumber: 11\n  }, this);\n};\n\nconst ApartmentsList = ({\n  accommodations,\n  house\n}) => {\n  return /*#__PURE__*/_jsxDEV(List, {\n    classNameList: styles.list,\n    items: accommodations,\n    renderItem: accommodation => /*#__PURE__*/_jsxDEV(ApartmentItem, {\n      house: house,\n      accommodation: accommodation\n    }, accommodation.key, false, {\n      fileName: _jsxFileName,\n      lineNumber: 93,\n      columnNumber: 10\n    }, this) // filters={[\n    //    { label: 'Toutes', filter: house => true },\n    //    { label: 'Libres', filter: house => house.canApply },\n    //    { label: 'Futures', filter: house => !house.open },\n    // ]}\n    // searchFilter={\n    //    (house, input) =>\n    //       house.title.toLowerCase().includes(input)\n    //       || (house.area && house.area.toLowerCase().includes(input))\n    //       || (house.location && house.location.toLowerCase().includes(input))\n    // }\n\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 88,\n    columnNumber: 11\n  }, this);\n};\n\nexport default ApartmentsList;","map":{"version":3,"sources":["/home/gkkdzdg/www/src/slices/ApartmentsSlice/ApartmentsList.js"],"names":["cn","Bubble","BoxButton","CircleButton","HouseInfos","List","StatusBanner","TypeformOverlay","useLang","useLocale","useLocaleDate","useIsDesktop","HTMLReactParser","getNewsPage","imageBuilder","Link","useState","styles","ApartmentItem","className","accommodation","house","locale","isDesktop","console","log","ownSurfaceHtml","replace","surface","sharedSurfaceHtml","showApply","setShowApply","listItem","title","banner","statusTextKey","infosContainer","flex","price","priceButton","button","key","ApartmentsList","accommodations","list"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport Bubble from 'components/bubble/Bubble'\nimport BoxButton from 'components/gui/BoxButton'\nimport CircleButton from 'components/gui/CircleButton'\nimport HouseInfos from 'components/houseInfos/HouseInfos'\nimport List from 'components/list/List'\nimport StatusBanner from 'components/statusBanner/StatusBanner'\nimport { TypeformOverlay } from 'components/typeform/Typeform'\nimport useLang from 'contexts/useLang'\nimport useLocale from 'contexts/useLocale'\nimport useLocaleDate from 'contexts/useLocaleDate'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport HTMLReactParser from 'html-react-parser'\nimport { getNewsPage, imageBuilder } from 'lib/api'\nimport Link from 'next/link'\nimport { useState } from 'react'\nimport styles from './ApartmentsList.module.scss'\n\n\n\nexport const ApartmentItem = ({ className, accommodation, house, }) => {\n\n   const locale = useLocale()\n   const isDesktop = useIsDesktop()\n\n   console.log('ApartmentsList.js::25 accommodation', accommodation)\n   const ownSurfaceHtml = locale(`own-surface`)\n      .replace('#', `<span class='bold'>${accommodation.surface}</span>`)\n   const sharedSurfaceHtml = locale(`shared-surface`)\n      .replace('#', `<span class='bold'>${house.surface}</span>`)\n\n   const [showApply, setShowApply] = useState(false)\n\n   \n   //const inner = <li\n   return <li\n      key={accommodation.key}\n      className={cn(\n         styles.listItem,\n         // highlight && styles.highlight,\n         // !house.open && styles.notOpened,\n         className,\n      )}\n   >\n\n      <div className={cn(styles.title)}>\n         <h3 className={cn('h--3')}>{accommodation.title}</h3>\n         <StatusBanner\n            className={cn(styles.banner)}\n            status={accommodation.statusTextKey || 'available'}\n         />\n      </div>\n\n\n      <div className={cn(styles.infosContainer)}>\n         <div style={{ flex: 1, }}>\n            <p className={cn('p--m')}>{HTMLReactParser(ownSurfaceHtml)}</p>\n            <p className={cn('p--m')}>{HTMLReactParser(sharedSurfaceHtml)}</p>\n         </div>\n         <div>\n            <p className={cn('p--m', 'bold')}>{accommodation.price}</p>\n            <p className={cn('p--m')}>{locale('taxes-included')}</p>\n         </div>\n         <CircleButton\n            className={cn(styles.priceButton)}\n            icon='info'\n            size='small'\n            color='white'\n         />\n      </div>\n\n      <BoxButton\n         className={cn(styles.button)}\n         label={locale('apply')}\n         fullWidth={true}\n         onClick={() => setShowApply(true)}\n         icon='right'\n      />\n\n      {showApply && <TypeformOverlay onClose={() => setShowApply(false)} />}\n   </li>\n\n}\n\nconst ApartmentsList = ({ accommodations, house, }) => {\n\n   return <List\n      classNameList={styles.list}\n      items={accommodations}\n\n      renderItem={accommodation =>\n         <ApartmentItem\n            key={accommodation.key}\n            house={house}\n            accommodation={accommodation}\n         />\n      }\n\n   // filters={[\n   //    { label: 'Toutes', filter: house => true },\n   //    { label: 'Libres', filter: house => house.canApply },\n   //    { label: 'Futures', filter: house => !house.open },\n   // ]}\n\n   // searchFilter={\n   //    (house, input) =>\n   //       house.title.toLowerCase().includes(input)\n   //       || (house.area && house.area.toLowerCase().includes(input))\n   //       || (house.location && house.location.toLowerCase().includes(input))\n   // }\n   />\n}\n\nexport default ApartmentsList\n\n"]},"metadata":{},"sourceType":"module"}