{"ast":null,"code":"import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\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 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 styles from './HousesList.module.scss';\nexport var HouseItem = function HouseItem(_ref) {\n  var className = _ref.className,\n      house = _ref.house,\n      highlight = _ref.highlight,\n      onMouseEvent = _ref.onMouseEvent,\n      onClose = _ref.onClose;\n  var locale = useLocale();\n  var lang = useLang();\n  var isDesktop = useIsDesktop();\n  var imgSrc = house.hero && imageBuilder.image(house.hero).width(1280 / 4).url();\n  var dateStr = useLocaleDate(house.openingDate);\n  var dateHtml = dateStr ? locale('opening') + '<br/>' + dateStr : locale('opening-unknown-date').replace(' ', '<br/>'); //const inner = <li\n\n  return /*#__PURE__*/_jsxs(\"li\", {\n    onMouseOver: onMouseEvent,\n    onMouseOut: onMouseEvent,\n    className: cn(styles.listItem, highlight && styles.highlight, !house.open && styles.notOpened, className),\n    children: [house.open ? /*#__PURE__*/_jsx(_Fragment, {\n      children: imgSrc && /*#__PURE__*/_jsx(Link, {\n        href: house.url,\n        as: house.url,\n        children: /*#__PURE__*/_jsxs(\"div\", {\n          className: cn(styles.half, styles.imageCont),\n          children: [/*#__PURE__*/_jsx(\"img\", {\n            src: imgSrc\n          }), /*#__PURE__*/_jsx(StatusBanner, {\n            status: house.statusTextKey,\n            topRight: true\n          })]\n        })\n      })\n    }) : imgSrc && /*#__PURE__*/_jsxs(\"div\", {\n      className: cn(styles.half, styles.imageCont),\n      children: [/*#__PURE__*/_jsx(\"img\", {\n        src: imgSrc\n      }), /*#__PURE__*/_jsx(StatusBanner, {\n        status: house.statusTextKey,\n        topRight: true\n      }), /*#__PURE__*/_jsx(\"div\", {\n        className: cn(styles.openingDate),\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          className: cn('h--1'),\n          children: HTMLReactParser(dateHtml)\n        })\n      })]\n    }) // <div className={cn(styles.half, styles.leftContainer)}>\n    //    <div className={cn(styles.line)}>\n    //       {dateStr && <div>\n    //          <h3 className={cn('h--3')}>{locale('opening')}</h3>\n    //          <h3 className={cn('h--3')}>{dateStr}</h3>\n    //       </div>\n    //       }\n    //       <Bubble text={'Future'} stretch />\n    //    </div>\n    //    {isDesktop && (\n    //       (house.canApply)\n    //          ? <BoxButton\n    //             className={cn(styles.button)}\n    //             label={locale('apply')}\n    //             fullWidth={true}\n    //             onClick={() => { }}\n    //             icon='right'\n    //          />\n    //          : <BoxButton\n    //             className={cn(styles.button)}\n    //             label={locale('get-notified-of-availability')}\n    //             fullWidth={true}\n    //             onClick={() => { }}\n    //             icon='right'\n    //          />\n    //    )}\n    // </div>\n    , /*#__PURE__*/_jsx(\"div\", {\n      className: cn(styles.half, styles.infosContainer),\n      children: /*#__PURE__*/_jsx(HouseInfos, {\n        className: cn(styles.houseInfos),\n        smaller: true,\n        house: house,\n        renderTitle: true,\n        renderBubble: isDesktop,\n        buttonLabel: house.open ? locale('join-house').replace('{house}', house.title) : locale('discover-house').replace('{house}', house.title),\n        buttonHref: house.url,\n        buttonClassName: styles.button,\n        white: !house.open\n      })\n    }), onClose && /*#__PURE__*/_jsx(CircleButton, {\n      onClick: onClose,\n      className: cn(styles.closeButton),\n      icon: \"close\"\n    })]\n  }, house._id); // return house.open && house.url ? (\n  // <Link href={house.url}>\n  //    {inner}\n  // </Link>\n  // ) :\n  //    inner\n};\n\nvar HousesList = function HousesList(_ref2) {\n  var houses = _ref2.houses,\n      highlightHouse = _ref2.highlightHouse,\n      handleMouseEvent = _ref2.handleMouseEvent,\n      placeholder = _ref2.placeholder;\n  return /*#__PURE__*/_jsx(List, {\n    classNameList: styles.list,\n    items: houses,\n    renderItem: function renderItem(house) {\n      return /*#__PURE__*/_jsx(HouseItem, {\n        house: house,\n        highlight: house.slug == highlightHouse,\n        onMouseEvent: handleMouseEvent && function (event) {\n          return handleMouseEvent(event.type, house.slug);\n        }\n      }, house.slug);\n    },\n    filters: [{\n      label: 'Toutes',\n      filter: function filter(house) {\n        return true;\n      }\n    }, {\n      label: 'Libres',\n      filter: function filter(house) {\n        return house.canApply;\n      }\n    }, {\n      label: 'Futures',\n      filter: function filter(house) {\n        return !house.open;\n      }\n    }],\n    searchFilter: function searchFilter(house, input) {\n      return house.title.toLowerCase().includes(input) || house.area && house.area.toLowerCase().includes(input) || house.location && house.location.toLowerCase().includes(input);\n    },\n    placeholder: placeholder\n  });\n};\n\nexport default HousesList;","map":null,"metadata":{},"sourceType":"module"}