{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/houseInfos/HouseInfos.js\";\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 BoxButton from 'components/gui/BoxButton';\nimport CustomBlockContent from 'components/gui/CustomBlockContent';\nimport useLocale from 'contexts/useLocale';\nimport styles from './HouseInfos.module.scss';\nimport HTMLReactParser from 'html-react-parser';\nimport Bubble from 'components/bubble/Bubble';\nimport Link from 'next/link';\nexport const HouseInfos = ({\n  house,\n  style,\n  className,\n  smaller,\n  narrow,\n  buttonLabel,\n  buttonHref,\n  buttonClassName,\n  renderTitle,\n  renderText,\n  white\n}) => {\n  const {\n    title,\n    status,\n    statusTextKey,\n    statusColor,\n    area,\n    surface,\n    canApply,\n    accommodations,\n    accommodationsCount,\n    availableCount,\n    fullHouse,\n    cheapest,\n    text,\n    open\n  } = house;\n  const locale = useLocale();\n  const accommodationsCountHtml = locale(`accommodations-count`, accommodationsCount).replace('#', `<span class='bold'>${accommodationsCount}</span>`);\n  const availableCountHtml = accommodations.length > 0 && (fullHouse ? `<span class='bold'>${locale(`house-full`)}.</span>` : locale(`available-accommodations`, availableCount).replace('#', `<span class='bold'>${availableCount}</span>`));\n  const cheapestHtml = !fullHouse && cheapest < 9999 && locale(`price-from`).replace('#', `<span class='bold'>${cheapest}€</span>`);\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.houseInfos, (smaller || narrow) && styles.smaller, className),\n    style: _objectSpread({}, style),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.houseInfosGrid),\n        children: renderTitle && /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 1\n          },\n          children: smaller ? /*#__PURE__*/_jsxDEV(Link, {\n            href: house.url,\n            as: house.url,\n            children: /*#__PURE__*/_jsxDEV(\"a\", {\n              children: /*#__PURE__*/_jsxDEV(\"h2\", {\n                className: cn(smaller ? 'h--3' : 'h--1', styles.title),\n                children: title\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 62,\n                columnNumber: 28\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 62,\n              columnNumber: 25\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 61,\n            columnNumber: 22\n          }, this) : /*#__PURE__*/_jsxDEV(\"h2\", {\n            className: cn(smaller ? 'h--3' : 'h--1', styles.title),\n            children: title\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 64,\n            columnNumber: 24\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 59,\n          columnNumber: 32\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 58,\n        columnNumber: 13\n      }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.houseInfosGrid),\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 1\n          },\n          children: area && area.split('\\n').map((line, i) => /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: line\n          }, i, false, {\n            fileName: _jsxFileName,\n            lineNumber: 71,\n            columnNumber: 62\n          }, this))\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 70,\n          columnNumber: 16\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 0.7\n          },\n          children: [accommodationsCount > 0 && house.status == 'future-closed' && /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m', 'bold'),\n            children: locale('soon')\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 75,\n            columnNumber: 22\n          }, this), accommodationsCount > 0 && /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(accommodationsCountHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 77,\n            columnNumber: 47\n          }, this), availableCountHtml && /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(availableCountHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 78,\n            columnNumber: 42\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 73,\n          columnNumber: 16\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 69,\n        columnNumber: 13\n      }, this), (!smaller || !fullHouse || !open) && /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.houseInfosGrid),\n        children: [surface && /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 1\n          },\n          children: [/*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: locale('house-surface-area')\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 84,\n            columnNumber: 22\n          }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m', 'bold'),\n            children: surface\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 85,\n            columnNumber: 22\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 83,\n          columnNumber: 31\n        }, this), cheapestHtml && /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 0.7\n          },\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(cheapestHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 88,\n            columnNumber: 22\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 87,\n          columnNumber: 36\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 82,\n        columnNumber: 19\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 57,\n      columnNumber: 10\n    }, this), renderText && text && /*#__PURE__*/_jsxDEV(CustomBlockContent, {\n      className: cn('p--m', styles.text),\n      blocks: text\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 94,\n      columnNumber: 33\n    }, this), buttonLabel && /*#__PURE__*/_jsxDEV(\"div\", {\n      children: /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button, buttonClassName),\n        label: buttonLabel,\n        href: buttonHref,\n        fullWidth: true,\n        icon: \"right\",\n        white: white\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 97,\n        columnNumber: 18\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 97,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 47,\n    columnNumber: 7\n  }, this);\n};\nexport default HouseInfos;","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/houseInfos/HouseInfos.js"],"names":["cn","BoxButton","CustomBlockContent","useLocale","styles","HTMLReactParser","Bubble","Link","HouseInfos","house","style","className","smaller","narrow","buttonLabel","buttonHref","buttonClassName","renderTitle","renderText","white","title","status","statusTextKey","statusColor","area","surface","canApply","accommodations","accommodationsCount","availableCount","fullHouse","cheapest","text","open","locale","accommodationsCountHtml","replace","availableCountHtml","length","cheapestHtml","houseInfos","houseInfosGrid","flex","url","split","map","line","i","button"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport BoxButton from 'components/gui/BoxButton'\nimport CustomBlockContent from 'components/gui/CustomBlockContent'\nimport useLocale from 'contexts/useLocale'\nimport styles from './HouseInfos.module.scss'\nimport HTMLReactParser from 'html-react-parser'\nimport Bubble from 'components/bubble/Bubble'\nimport Link from 'next/link'\n\n\nexport const HouseInfos = ({ house, style, className, smaller, narrow, buttonLabel, buttonHref, buttonClassName, renderTitle, renderText, white, }) => {\n   const {\n      title,\n      status,\n      statusTextKey,\n      statusColor,\n      area,\n      surface,\n      canApply,\n      accommodations,\n      accommodationsCount,\n      availableCount,\n      fullHouse,\n      cheapest,\n      text,\n      open,\n   } = house\n\n   const locale = useLocale()\n\n   const accommodationsCountHtml = locale(`accommodations-count`, accommodationsCount)\n      .replace('#', `<span class='bold'>${accommodationsCount}</span>`)\n\n   const availableCountHtml = (accommodations.length > 0) &&\n      (fullHouse\n         ? `<span class='bold'>${locale(`house-full`)}.</span>`\n         : locale(`available-accommodations`, availableCount)\n            .replace('#', `<span class='bold'>${availableCount}</span>`)\n      )\n\n   const cheapestHtml = !fullHouse && cheapest < 9999 && locale(`price-from`)\n      .replace('#', `<span class='bold'>${cheapest}€</span>`)\n\n\n   return (\n      <div\n         className={cn(\n            styles.houseInfos,\n            (smaller || narrow) && styles.smaller,\n            className,\n         )}\n         style={{\n            ...style,\n         }}\n      >\n         <div>\n            <div className={cn(styles.houseInfosGrid)}>\n               {renderTitle && <div style={{ flex: 1, }}>\n                  {smaller ?\n                     <Link href={house.url} as={house.url}>\n                        <a><h2 className={cn(smaller ? 'h--3' : 'h--1', styles.title)}>{title}</h2></a>\n                     </Link>\n                     : <h2 className={cn(smaller ? 'h--3' : 'h--1', styles.title)}>{title}</h2>\n                  }\n               </div>}\n            </div>\n\n            <div className={cn(styles.houseInfosGrid)}>\n               <div style={{ flex: 1, }}>\n                  {area && area.split('\\n').map((line, i) => <p key={i} className={cn('p--m')}>{line}</p>)}\n               </div>\n               <div style={{ flex: 0.7, }}>\n                  {accommodationsCount > 0 && house.status == 'future-closed' &&\n                     <p className={cn('p--m', 'bold')}>{locale('soon')}</p>\n                  }\n                  {accommodationsCount > 0 && <p className={cn('p--m')}>{HTMLReactParser(accommodationsCountHtml)}</p>}\n                  {availableCountHtml && <p className={cn('p--m')}>{HTMLReactParser(availableCountHtml)}</p>}\n               </div>\n            </div>\n            {(!smaller || !fullHouse || !open)\n               && <div className={cn(styles.houseInfosGrid)}>\n                  {surface && <div style={{ flex: 1, }}>\n                     <p className={cn('p--m')}>{locale('house-surface-area')}</p>\n                     <p className={cn('p--m', 'bold')}>{surface}</p>\n                  </div>}\n                  {cheapestHtml && <div style={{ flex: 0.7, }}>\n                     <p className={cn('p--m')}>{HTMLReactParser(cheapestHtml)}</p>\n                  </div>}\n               </div>\n            }\n         </div>\n\n         {renderText && text && <CustomBlockContent className={cn('p--m', styles.text)} blocks={text} />}\n         \n         {buttonLabel &&\n            <div><BoxButton\n               className={cn(styles.button, buttonClassName)}\n               label={buttonLabel}\n               href={buttonHref}\n               fullWidth={true}\n               icon='right'\n               white={white}\n            /></div>\n         }\n      </div>\n   )\n}\n\n\nexport default HouseInfos"]},"metadata":{},"sourceType":"module"}