nestiq-component-library 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -120,14 +120,25 @@ function formatPrice(number) {
120
120
  }
121
121
 
122
122
  function PropertyDetailsHeader(props) {
123
- var _a, _b, _c;
124
- var _d = useState(false), showPopUp = _d[0], setShowPopUp = _d[1];
123
+ var _a, _b, _c, _d;
124
+ var _e = useState(false), showPopUp = _e[0], setShowPopUp = _e[1];
125
+ var area = (_a = props.property) === null || _a === void 0 ? void 0 : _a.propertyArea;
126
+ function formatPropertyArea(area) {
127
+ if (typeof area === "number" || typeof area === "string") {
128
+ return area.toString().replace(".", ",");
129
+ }
130
+ else {
131
+ return area;
132
+ }
133
+ }
134
+ var formattedArea = formatPropertyArea(area);
135
+ "".concat(Number(formattedArea.replace(".", "")), " m\u00B2");
125
136
  var handlePopUp = function () {
126
137
  setShowPopUp(!showPopUp);
127
138
  };
128
139
  return (React.createElement("div", { className: "Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 " },
129
140
  React.createElement("div", { className: "header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 " },
130
- React.createElement("strong", null, (_a = props.title) !== null && _a !== void 0 ? _a : "-")),
141
+ React.createElement("strong", null, (_b = props.title) !== null && _b !== void 0 ? _b : "-")),
131
142
  React.createElement("div", { className: "header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4" },
132
143
  React.createElement("img", { src: locationIcon$1, className: "vector me-2", alt: "location Icon" }),
133
144
  React.createElement("div", { className: "propText text-truncate col-lg-6 col-md-6 d-flex align-items-center" }, props.property.city)),
@@ -135,7 +146,7 @@ function PropertyDetailsHeader(props) {
135
146
  React.createElement("img", { src: ShareIcon, alt: "share icon", className: "v_share me-3", onClick: handlePopUp })),
136
147
  React.createElement("div", { className: "fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0" },
137
148
  props && (React.createElement("div", { className: " propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center " },
138
- formatPrice((_c = (_b = props.property) === null || _b === void 0 ? void 0 : _b.askingPrice) !== null && _c !== void 0 ? _c : 0),
149
+ formatPrice((_d = (_c = props.property) === null || _c === void 0 ? void 0 : _c.askingPrice) !== null && _d !== void 0 ? _d : 0),
139
150
  React.createElement("br", null),
140
151
  "Kaufpreis")),
141
152
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
@@ -149,8 +160,8 @@ function PropertyDetailsHeader(props) {
149
160
  React.createElement("br", null),
150
161
  "Zimmer")),
151
162
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
152
- formatPrice(props.property.propertyArea),
153
- " m\u00B2",
163
+ formattedArea,
164
+ " ",
154
165
  React.createElement("br", null),
155
166
  "Grundst\u00FCck"))),
156
167
  showPopUp && React.createElement(SharePopup, null)));
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/Button/Button.tsx","../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Popup/Popup.tsx","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg","../src/assets/images/envelope-fill.svg","../src/assets/images/facebook.svg","../src/assets/images/linkedin.svg","../src/assets/images/twitter-x.svg","../src/assets/images/whatsapp.svg","../src/components/SharePopup/SharePopup.tsx","../src/functions/util.ts","../src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx","../src/assets/images/Icon_rightArrow.svg","../src/assets/images/blackarrow-Right.svg","../src/assets/images/blckarrow-Left.svg","../src/assets/images/chevron-left.svg","../src/assets/images/icon_gallery.svg","../src/assets/images/icon_map.svg","../src/assets/images/layer_icon.svg","../src/assets/images/close.png","../src/components/ImageListPopup/ImageListPopup.tsx","../src/components/FloorPlanPopup/FloorPlanPopup.tsx","../src/components/PropertyImageList/PropertyImageList.tsx","../src/assets/images/LayersIcon.svg","../src/assets/images/locationIcon.svg","../src/assets/images/default-property.jpg","../src/components/PropertyCard/PropertyCard.tsx","../src/components/ToastWrapper/ToastWrapper.tsx"],"sourcesContent":["import React from 'react';\r\n\r\ninterface ButtonProps {\r\n label: string;\r\n}\r\n\r\nconst Button: React.FC<ButtonProps> = ({ label }) => {\r\n return <button>{label}</button>;\r\n};\r\n\r\nexport default Button;\r\n","export default \"/static/media/icon_close_2.e41bb9a4db48e048.png\"","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\r\nimport closeIcon from \"../../assets/images/icon_close_2.png\";\r\nimport \"./Popup.css\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n children: React.ReactNode;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={closeIcon}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Popup;\r\n","export default \"/static/media/icon_share_1.b9ec05630dc1087e.svg\"","export default \"/static/media/locationIconBlack.eb8e9e9226b43573.svg\"","export default \"/static/media/envelope-fill.6669c9d64183941c.svg\"","export default \"/static/media/facebook.ce73eacbfffe8a27.svg\"","export default \"/static/media/linkedin.7539333145b03678.svg\"","export default \"/static/media/twitter-x.48a4ac3f560f0a62.svg\"","export default \"/static/media/whatsapp.28e6b0b24adc9289.svg\"","import React, { useRef, useState } from \"react\";\r\nimport email from \"../../assets/images/envelope-fill.svg\";\r\nimport facebook from \"../../assets/images/facebook.svg\";\r\nimport x from \"../../assets/images/icon_close_2.png\";\r\nimport linkedln from \"../../assets/images/linkedin.svg\";\r\nimport Xtwitter from \"../../assets/images/twitter-x.svg\";\r\nimport whatsapp from \"../../assets/images/whatsapp.svg\";\r\nimport \"./SharePopup.css\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"../../styles/common.css\";\r\n\r\nexport default function SharePopup() {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n const urlInputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n const copyToClipboard = () => {\r\n urlInputRef.current!.select();\r\n document.execCommand(\"copy\");\r\n toast.success(\"URL copied to clipboard!\");\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={x}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <div className=\"popUpHeader col-lg-12 d-flex justify-content-center mb-2\">\r\n Jetzt teilen und weitersagen!\r\n </div>\r\n <div className=\"h-25 col-lg-12 socialMediaIconsSection d-flex flex-row align-items-center justify-content-center mx-auto\">\r\n <a\r\n href=\"https://twitter.com/intent/tweet?url=https://www.nestiq.de&text=Nestiq\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={Xtwitter}\r\n alt=\"twitter\"\r\n className=\"socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">X (Twitter)</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.nestiq.de\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={facebook}\r\n alt=\"facebook\"\r\n className=\"socialMediaIcons \"\r\n />\r\n <span className=\"socialMediaIconText\">Facebook</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://api.whatsapp.com/send?text=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={whatsapp}\r\n alt=\"whatsapp\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">WhatsApp</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={linkedln}\r\n alt=\"linkedin\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">LinkedIn</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img src={email} alt=\"email\" className=\" socialMediaIcons\" />\r\n <span className=\"socialMediaIconText\">E-Mail</span>\r\n </div>\r\n </a>\r\n </div>\r\n <div className=\"col-10 mx-auto\">\r\n <div className=\" row align-items-center position-relative\">\r\n <input\r\n ref={urlInputRef}\r\n type=\"text\"\r\n className=\"popup_search-input rounded-4 border border-0 \"\r\n placeholder=\"Enter link here\"\r\n value={window.location.href}\r\n readOnly\r\n />\r\n <button\r\n onClick={copyToClipboard}\r\n className=\"popupcustom-button border border-0 position-absolute me-2 col-lg-3 col-md-3 col-sm-3 rounded-4 fs-6\"\r\n type=\"button\"\r\n id=\"button\"\r\n >\r\n <strong>Kopieren</strong>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","export function formatPrice(number: number): string {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n}\r\n","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport ShareIcon from \"../../assets/images/icon_share_1.svg\";\r\nimport locationIcon from \"../../assets/images/locationIconBlack.svg\";\r\nimport \"./PropertyDetailsHeader.css\";\r\nimport SharePopup from \"../SharePopup/SharePopup\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\nexport interface PopupProps {\r\n property: {\r\n city: string;\r\n constructedArea: string;\r\n rooms: string;\r\n propertyArea: number;\r\n askingPrice: number;\r\n };\r\n title: string;\r\n}\r\n\r\nexport default function PropertyDetailsHeader(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(false);\r\n\r\n const handlePopUp = () => {\r\n setShowPopUp(!showPopUp);\r\n };\r\n\r\n return (\r\n <div className=\"Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 \">\r\n <div className=\"header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 \">\r\n <strong>{props.title ?? \"-\"}</strong>\r\n </div>\r\n <div className=\"header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4\">\r\n <img src={locationIcon} className=\"vector me-2\" alt=\"location Icon\" />\r\n\r\n <div className=\"propText text-truncate col-lg-6 col-md-6 d-flex align-items-center\">\r\n {props.property.city}\r\n </div>\r\n </div>\r\n <div className=\"d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4\">\r\n {/* <img src={Hearticon} alt=\"Location Icon\" className=\"v_share me-3\" /> */}\r\n <img\r\n src={ShareIcon}\r\n alt=\"share icon\"\r\n className=\"v_share me-3\"\r\n onClick={handlePopUp}\r\n />\r\n </div>\r\n <div className=\"fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0\">\r\n {props && (\r\n <div className=\" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center \">\r\n {formatPrice(props.property?.askingPrice ?? 0)}\r\n <br />\r\n Kaufpreis\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.constructedArea} m² <br />\r\n Wohnfläche\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.rooms} <br />\r\n Zimmer\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {formatPrice(props.property.propertyArea)} m²\r\n <br />\r\n Grundstück\r\n {/* <FormattedMessage id=\"Grundstück\" /> */}\r\n </div>\r\n )}\r\n </div>\r\n {showPopUp && <SharePopup />}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/Icon_rightArrow.bced4a705c07148d.svg\"","export default \"/static/media/blackarrow-Right.e585ae62dd55abae.svg\"","export default \"/static/media/blckarrow-Left.e2134741aa368d30.svg\"","export default \"/static/media/chevron-left.04f0a7f16b745c1a.svg\"","export default \"/static/media/icon_gallery.269b721daf2ca907.svg\"","export default \"/static/media/icon_map.2318ec664c3e615e.svg\"","export default \"/static/media/layer_icon.9b56c187199c44b5.svg\"","export default \"/static/media/close.b5ce9141e80c688b.png\"","import \"./ImageListPopup.css\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n}\r\n\r\nexport default function ImageListPopup(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (props.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + props.pictureUrls.length) %\r\n props.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % props.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <span className=\"text-white align-self-center\">\r\n {props.pictureUrls[currentImageIndex].title}\r\n </span>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight align-self-center align-items-center me-5\">\r\n <div\r\n className=\"rounded-circle border onImageArrow start-0 d-flex \"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img\r\n src={blcIconArrowLeft}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"p-2 bd-highlight\">\r\n <div\r\n className=\" rounded-5 mainImage \"\r\n style={{\r\n backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n </div>\r\n <div className=\"p-2 bd-highlight align-self-center ms-5\">\r\n {\" \"}\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-row\">\r\n {/* Arrows on the main image */}\r\n </div>\r\n <div className=\"d-flex flex-row gap-4 w-100 secondList \">\r\n <div className=\"col-lg-12 d-flex flex-row p-1 align-self-center mt-5\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto \"\r\n ref={imageListRef}\r\n >\r\n {props.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3\">\r\n {props.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\n\r\ninterface PopupProps {\r\n contentUrl: string;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst FloorPlanPopup: React.FC<PopupProps> = ({ contentUrl, onCloseClick }) => {\r\n const [isContentImage, setIsContentImage] = useState(false);\r\n\r\n useEffect(() => {\r\n if (contentUrl) {\r\n const fileFormat = contentUrl.split(\".\").pop();\r\n if (\r\n fileFormat === \"png\" ||\r\n fileFormat === \"jpg\" ||\r\n fileFormat === \"jpeg\" ||\r\n fileFormat === \"svg\"\r\n ) {\r\n setIsContentImage(true);\r\n }\r\n }\r\n }, [contentUrl]);\r\n\r\n const downloadButtonClickHandler = (): void => {\r\n // Create a temporary anchor element\r\n const link = document.createElement(\"a\");\r\n link.href = contentUrl;\r\n link.setAttribute(\"download\", \"\"); // This attribute hints the browser to download the file\r\n\r\n // Append the anchor to the body and click it to trigger the download\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Clean up: remove the anchor element\r\n document.body.removeChild(link);\r\n };\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight\">\r\n {isContentImage && (\r\n <div\r\n className=\"rounded-5 mainImage\"\r\n style={{\r\n backgroundImage: `url(${contentUrl})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n )}\r\n {!isContentImage && (\r\n <div className=\"text-white text-center\">\r\n No Preview Available\r\n <button\r\n className=\"btn btn-info\"\r\n onClick={downloadButtonClickHandler}\r\n >\r\n {\" \"}\r\n Download{\" \"}\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FloorPlanPopup;\r\n","import React, { useRef, useState } from \"react\";\r\nimport iconArrowRight from \"../../assets/images/Icon_rightArrow.svg\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconArrowLeft from \"../../assets/images/chevron-left.svg\";\r\nimport iconGallery from \"../../assets/images/icon_gallery.svg\";\r\nimport iconMap from \"../../assets/images/icon_map.svg\";\r\nimport iconLayers from \"../../assets/images/layer_icon.svg\";\r\nimport \"./PropertyImageList.css\";\r\nimport ImageListPopup from \"../ImageListPopup/ImageListPopup\";\r\nimport PopupProps from \"../ImageListPopup/ImageListPopup\";\r\nimport FloorPlanPopup from \"../FloorPlanPopup/FloorPlanPopup\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n floorPlanUrl: string;\r\n}\r\nexport default function PropertyImageList(prop: PopupProps) {\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);\r\n const [isFloorPlanPopupOpen, setIsFloorPlanPopupOpen] = useState(false);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (prop.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + prop.pictureUrls.length) %\r\n prop.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % prop.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const toggleAllPhotos = () => {\r\n setIsImagePopupOpen(!isImagePopupOpen);\r\n };\r\n\r\n const floorPlanClickHandler = () => {\r\n if (prop.floorPlanUrl) {\r\n setIsFloorPlanPopupOpen(true);\r\n }\r\n };\r\n\r\n const floorPlanPopupCloseHandler = () => {\r\n setIsFloorPlanPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"col-8 me-2 Pimagelist\">\r\n <div\r\n className=\"col-12 rounded-5 mainImage d-flex position-relative align-items-center\"\r\n style={{\r\n backgroundImage: `url(${prop.pictureUrls[currentImageIndex]?.url})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n >\r\n {/* Arrows on the main image */}\r\n <div\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute start-0 ms-2 align-items-center justify-content-center\"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img src={blcIconArrowLeft} className=\"blackArrow\" alt=\"Left Arrow\" />\r\n </div>\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute end-0 me-2 align-items-center justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Image Thumbnails */}\r\n <div className=\"d-flex flex-row gap-1 col-12 secondList\">\r\n <div className=\"col-lg-6 d-flex flex-row p-1\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute start-0\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img\r\n src={iconArrowLeft}\r\n className=\"arroIconColour\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1\"\r\n ref={imageListRef}\r\n >\r\n {prop.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 d-flex gap-2 flex-row rounded-3\">\r\n {prop.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute end-0 top-0\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3 ms-1\">\r\n <img\r\n src={iconArrowRight}\r\n className=\"arroIconColour\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Buttons for \"Alle Fotos\", \"Grundriss\", \"Karte\" */}\r\n <div className=\"col-6 d-flex flex-row\">\r\n <div className=\"col-lg-4 p-1\" role=\"button\" onClick={toggleAllPhotos}>\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconGallery} alt=\"Gallery Icon\" />\r\n <span className=\"listImgText\">Alle Fotos</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={floorPlanClickHandler}\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconLayers} alt=\"Layers Icon\" />\r\n <span className=\"listImgText\">Grundriss</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={() =>\r\n window.scrollTo({\r\n top: document.documentElement.scrollHeight,\r\n })\r\n }\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconMap} alt=\"Map Icon\" />\r\n <span className=\"listImgText\">Karte</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Popup for all photos */}\r\n {isImagePopupOpen && <ImageListPopup pictureUrls={prop.pictureUrls} />}\r\n\r\n {/* Popup for floor plan */}\r\n {isFloorPlanPopupOpen && (\r\n <FloorPlanPopup\r\n contentUrl={prop.floorPlanUrl}\r\n onCloseClick={floorPlanPopupCloseHandler}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/LayersIcon.34c085c352a2c9c8.svg\"","export default \"/static/media/locationIcon.0af399c78e0cdc20.svg\"","export default \"/static/media/default-property.9987f19670be82b6.jpg\"","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport layerIcon from \"../../assets/images/LayersIcon.svg\";\r\nimport heart from \"../../assets/images/heart.svg\";\r\nimport locationIcon from \"../../assets/images/locationIcon.svg\";\r\nimport \"../PropertyCard/PropertyCard.css\";\r\nimport noImageIcon from \"../../assets/images/default-property.jpg\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\ninterface PopupProps {\r\n property: {\r\n city: string;\r\n historicalProtection: boolean;\r\n basement: boolean;\r\n balcony: boolean;\r\n terrace: boolean;\r\n guestBathroom: boolean;\r\n bathrooms: string;\r\n usableArea: string;\r\n id: string;\r\n rooms: string;\r\n evaluation?: {\r\n askingPrice: number;\r\n };\r\n pictures: { contentUrl: string }[];\r\n };\r\n onClick: any;\r\n baseUrl: string;\r\n}\r\n\r\nexport default function PropertyCard(props: PopupProps) {\r\n const [liked, setLiked] = useState(false);\r\n\r\n const handleLike = () => {\r\n setLiked(!liked);\r\n };\r\n const pictureUrl =\r\n props.property.pictures && props.property.pictures.length > 0\r\n ? `${props.baseUrl}${props.property.pictures[0].contentUrl}`\r\n : noImageIcon;\r\n return (\r\n <div\r\n key={props.property.id}\r\n className=\"card-body me-4 mb-4 position-relative cardStyle\"\r\n style={{\r\n backgroundImage: `url(${pictureUrl})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n onClick={props.onClick}\r\n role=\"button\"\r\n >\r\n <div className=\"labelTopClass position-absolute top-0 start-0 col-sm-5 col-lg-8\">\r\n <div className=\"d-flex align-items-center ms-2 mb-1 mt-2 gap-2\">\r\n <label className=\"p-1 firstLabel d-flex flex-row justify-content-center align-items-center\">\r\n <img src={layerIcon} alt=\"Location Icon\" className=\"layersVector\" />\r\n <span className=\"layersText\">{\"Grundriss\"}</span>\r\n </label>\r\n {props.property.historicalProtection && (\r\n <label className=\"thirdLabels d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Denkmalschutz\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.basement && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Keller\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n <div className=\"d-flex align-items-center ms-2 start-0 gap-2\">\r\n {props.property.terrace && (\r\n <label className=\"p-1 thirdLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"Terrace\"}</span>\r\n </label>\r\n )}\r\n {props.property.balcony && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Balkon\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.guestBathroom && (\r\n <label className=\"col-1 fourthLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText p-1\">{\"Gäste-WC\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center position-absolute top-0 end-0 p-3\">\r\n {/*<img*/}\r\n {/* src={heart}*/}\r\n {/* alt=\" Heart Icon\"*/}\r\n {/* className={`heartVector ${liked ? \"liked\" : \"\"}`}*/}\r\n {/* onClick={handleLike}*/}\r\n {/*/>*/}\r\n </div>\r\n <div className=\"d-flex align-items-center mb-3 position-absolute bottom-0 start-0 p-2\">\r\n <span className=\"Price col-lg-12 col-md-12 col-sm-12 text-truncate p-1\">\r\n {formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €\r\n </span>\r\n </div>\r\n <div className=\"d-flex w-50 align-items-center position-absolute bottom-0 start-0 p-2\">\r\n <img src={locationIcon} alt=\"Location Icon\" className=\"Vector\" />\r\n <span className=\"locationText text-truncate\">\r\n {props.property.city || \"N/A\"}\r\n </span>\r\n </div>\r\n <div className=\"d-flex col-lg-6 col-md-6 col-sm-5 me-lg-0 me-md-0 me-sm-3 justify-content-center mb-2 position-absolute bottom-0 end-0\">\r\n <span className=\"detail col-lg-4 col-md-4 col-sm-6 text-truncate border-end \">\r\n {+props.property.rooms}\r\n <br />\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n <span>Zimmer</span>\r\n </span>\r\n <span className=\"detail col-lg-3 col-md-3 col-sm-4 text-truncate \">\r\n {+props.property.bathrooms}\r\n <br />\r\n {/* <FormattedMessage\r\n id=\"BATHROOM\"\r\n values={{ itemCount: +props.property.bathrooms }}\r\n /> */}\r\n {/* {+props.property.bathrooms} */}\r\n\r\n <span>Bad</span>\r\n </span>\r\n <span className=\"detail col-lg-5 col-md-5 col-sm-7 text-truncate border-start me-3\">\r\n {props.property.usableArea} m²\r\n <br />\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n <span>Wohnfläche</span>\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\n\r\n// Utility function to show a toast\r\nexport const showToast = (\r\n message: string,\r\n type: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\r\n) => {\r\n toast(message, { type });\r\n};\r\n\r\nconst ToastWrapper: React.FC = () => (\r\n <ToastContainer\r\n position=\"top-right\"\r\n autoClose={5000}\r\n hideProgressBar={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n />\r\n);\r\n\r\nexport default ToastWrapper;\r\n"],"names":["closeIcon","locationIcon"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/Button/Button.tsx","../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Popup/Popup.tsx","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg","../src/assets/images/envelope-fill.svg","../src/assets/images/facebook.svg","../src/assets/images/linkedin.svg","../src/assets/images/twitter-x.svg","../src/assets/images/whatsapp.svg","../src/components/SharePopup/SharePopup.tsx","../src/functions/util.ts","../src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx","../src/assets/images/Icon_rightArrow.svg","../src/assets/images/blackarrow-Right.svg","../src/assets/images/blckarrow-Left.svg","../src/assets/images/chevron-left.svg","../src/assets/images/icon_gallery.svg","../src/assets/images/icon_map.svg","../src/assets/images/layer_icon.svg","../src/assets/images/close.png","../src/components/ImageListPopup/ImageListPopup.tsx","../src/components/FloorPlanPopup/FloorPlanPopup.tsx","../src/components/PropertyImageList/PropertyImageList.tsx","../src/assets/images/LayersIcon.svg","../src/assets/images/locationIcon.svg","../src/assets/images/default-property.jpg","../src/components/PropertyCard/PropertyCard.tsx","../src/components/ToastWrapper/ToastWrapper.tsx"],"sourcesContent":["import React from 'react';\r\n\r\ninterface ButtonProps {\r\n label: string;\r\n}\r\n\r\nconst Button: React.FC<ButtonProps> = ({ label }) => {\r\n return <button>{label}</button>;\r\n};\r\n\r\nexport default Button;\r\n","export default \"/static/media/icon_close_2.e41bb9a4db48e048.png\"","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\r\nimport closeIcon from \"../../assets/images/icon_close_2.png\";\r\nimport \"./Popup.css\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n children: React.ReactNode;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={closeIcon}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Popup;\r\n","export default \"/static/media/icon_share_1.b9ec05630dc1087e.svg\"","export default \"/static/media/locationIconBlack.eb8e9e9226b43573.svg\"","export default \"/static/media/envelope-fill.6669c9d64183941c.svg\"","export default \"/static/media/facebook.ce73eacbfffe8a27.svg\"","export default \"/static/media/linkedin.7539333145b03678.svg\"","export default \"/static/media/twitter-x.48a4ac3f560f0a62.svg\"","export default \"/static/media/whatsapp.28e6b0b24adc9289.svg\"","import React, { useRef, useState } from \"react\";\r\nimport email from \"../../assets/images/envelope-fill.svg\";\r\nimport facebook from \"../../assets/images/facebook.svg\";\r\nimport x from \"../../assets/images/icon_close_2.png\";\r\nimport linkedln from \"../../assets/images/linkedin.svg\";\r\nimport Xtwitter from \"../../assets/images/twitter-x.svg\";\r\nimport whatsapp from \"../../assets/images/whatsapp.svg\";\r\nimport \"./SharePopup.css\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"../../styles/common.css\";\r\n\r\nexport default function SharePopup() {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n const urlInputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n const copyToClipboard = () => {\r\n urlInputRef.current!.select();\r\n document.execCommand(\"copy\");\r\n toast.success(\"URL copied to clipboard!\");\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={x}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <div className=\"popUpHeader col-lg-12 d-flex justify-content-center mb-2\">\r\n Jetzt teilen und weitersagen!\r\n </div>\r\n <div className=\"h-25 col-lg-12 socialMediaIconsSection d-flex flex-row align-items-center justify-content-center mx-auto\">\r\n <a\r\n href=\"https://twitter.com/intent/tweet?url=https://www.nestiq.de&text=Nestiq\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={Xtwitter}\r\n alt=\"twitter\"\r\n className=\"socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">X (Twitter)</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.nestiq.de\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={facebook}\r\n alt=\"facebook\"\r\n className=\"socialMediaIcons \"\r\n />\r\n <span className=\"socialMediaIconText\">Facebook</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://api.whatsapp.com/send?text=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={whatsapp}\r\n alt=\"whatsapp\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">WhatsApp</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={linkedln}\r\n alt=\"linkedin\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">LinkedIn</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img src={email} alt=\"email\" className=\" socialMediaIcons\" />\r\n <span className=\"socialMediaIconText\">E-Mail</span>\r\n </div>\r\n </a>\r\n </div>\r\n <div className=\"col-10 mx-auto\">\r\n <div className=\" row align-items-center position-relative\">\r\n <input\r\n ref={urlInputRef}\r\n type=\"text\"\r\n className=\"popup_search-input rounded-4 border border-0 \"\r\n placeholder=\"Enter link here\"\r\n value={window.location.href}\r\n readOnly\r\n />\r\n <button\r\n onClick={copyToClipboard}\r\n className=\"popupcustom-button border border-0 position-absolute me-2 col-lg-3 col-md-3 col-sm-3 rounded-4 fs-6\"\r\n type=\"button\"\r\n id=\"button\"\r\n >\r\n <strong>Kopieren</strong>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","export function formatPrice(number: number): string {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n}\r\n","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport ShareIcon from \"../../assets/images/icon_share_1.svg\";\r\nimport locationIcon from \"../../assets/images/locationIconBlack.svg\";\r\nimport \"./PropertyDetailsHeader.css\";\r\nimport SharePopup from \"../SharePopup/SharePopup\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\nexport interface PopupProps {\r\n property: {\r\n city: string;\r\n constructedArea: string;\r\n rooms: string;\r\n propertyArea: number;\r\n askingPrice: number;\r\n };\r\n title: string;\r\n}\r\n\r\nexport default function PropertyDetailsHeader(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(false);\r\n const area = props.property?.propertyArea;\r\n\r\n function formatPropertyArea(area: number | string): string {\r\n if (typeof area === \"number\" || typeof area === \"string\") {\r\n return area.toString().replace(\".\", \",\");\r\n }\r\n else{\r\n return area;\r\n console.log(\"Area is not a number or string\");\r\n }\r\n }\r\n const formattedArea = formatPropertyArea(area);\r\n const output = `${Number(formattedArea.replace(\".\", \"\"))} m²`;\r\n \r\n const handlePopUp = () => {\r\n setShowPopUp(!showPopUp);\r\n };\r\n\r\n return (\r\n <div className=\"Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 \">\r\n <div className=\"header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 \">\r\n <strong>{props.title ?? \"-\"}</strong>\r\n </div>\r\n <div className=\"header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4\">\r\n <img src={locationIcon} className=\"vector me-2\" alt=\"location Icon\" />\r\n\r\n <div className=\"propText text-truncate col-lg-6 col-md-6 d-flex align-items-center\">\r\n {props.property.city}\r\n </div>\r\n </div>\r\n <div className=\"d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4\">\r\n {/* <img src={Hearticon} alt=\"Location Icon\" className=\"v_share me-3\" /> */}\r\n <img\r\n src={ShareIcon}\r\n alt=\"share icon\"\r\n className=\"v_share me-3\"\r\n onClick={handlePopUp}\r\n />\r\n </div>\r\n <div className=\"fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0\">\r\n {props && (\r\n <div className=\" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center \">\r\n {formatPrice(props.property?.askingPrice ?? 0)}\r\n <br />\r\n Kaufpreis\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.constructedArea} m² <br />\r\n Wohnfläche\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.rooms} <br />\r\n Zimmer\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {formattedArea} <br />\r\n Grundstück\r\n {/* <FormattedMessage id=\"Grundstück\" /> */}\r\n </div>\r\n )}\r\n </div>\r\n {showPopUp && <SharePopup />}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/Icon_rightArrow.bced4a705c07148d.svg\"","export default \"/static/media/blackarrow-Right.e585ae62dd55abae.svg\"","export default \"/static/media/blckarrow-Left.e2134741aa368d30.svg\"","export default \"/static/media/chevron-left.04f0a7f16b745c1a.svg\"","export default \"/static/media/icon_gallery.269b721daf2ca907.svg\"","export default \"/static/media/icon_map.2318ec664c3e615e.svg\"","export default \"/static/media/layer_icon.9b56c187199c44b5.svg\"","export default \"/static/media/close.b5ce9141e80c688b.png\"","import \"./ImageListPopup.css\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n}\r\n\r\nexport default function ImageListPopup(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (props.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + props.pictureUrls.length) %\r\n props.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % props.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <span className=\"text-white align-self-center\">\r\n {props.pictureUrls[currentImageIndex].title}\r\n </span>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight align-self-center align-items-center me-5\">\r\n <div\r\n className=\"rounded-circle border onImageArrow start-0 d-flex \"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img\r\n src={blcIconArrowLeft}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"p-2 bd-highlight\">\r\n <div\r\n className=\" rounded-5 mainImage \"\r\n style={{\r\n backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n </div>\r\n <div className=\"p-2 bd-highlight align-self-center ms-5\">\r\n {\" \"}\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-row\">\r\n {/* Arrows on the main image */}\r\n </div>\r\n <div className=\"d-flex flex-row gap-4 w-100 secondList \">\r\n <div className=\"col-lg-12 d-flex flex-row p-1 align-self-center mt-5\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto \"\r\n ref={imageListRef}\r\n >\r\n {props.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3\">\r\n {props.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\n\r\ninterface PopupProps {\r\n contentUrl: string;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst FloorPlanPopup: React.FC<PopupProps> = ({ contentUrl, onCloseClick }) => {\r\n const [isContentImage, setIsContentImage] = useState(false);\r\n\r\n useEffect(() => {\r\n if (contentUrl) {\r\n const fileFormat = contentUrl.split(\".\").pop();\r\n if (\r\n fileFormat === \"png\" ||\r\n fileFormat === \"jpg\" ||\r\n fileFormat === \"jpeg\" ||\r\n fileFormat === \"svg\"\r\n ) {\r\n setIsContentImage(true);\r\n }\r\n }\r\n }, [contentUrl]);\r\n\r\n const downloadButtonClickHandler = (): void => {\r\n // Create a temporary anchor element\r\n const link = document.createElement(\"a\");\r\n link.href = contentUrl;\r\n link.setAttribute(\"download\", \"\"); // This attribute hints the browser to download the file\r\n\r\n // Append the anchor to the body and click it to trigger the download\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Clean up: remove the anchor element\r\n document.body.removeChild(link);\r\n };\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight\">\r\n {isContentImage && (\r\n <div\r\n className=\"rounded-5 mainImage\"\r\n style={{\r\n backgroundImage: `url(${contentUrl})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n )}\r\n {!isContentImage && (\r\n <div className=\"text-white text-center\">\r\n No Preview Available\r\n <button\r\n className=\"btn btn-info\"\r\n onClick={downloadButtonClickHandler}\r\n >\r\n {\" \"}\r\n Download{\" \"}\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FloorPlanPopup;\r\n","import React, { useRef, useState } from \"react\";\r\nimport iconArrowRight from \"../../assets/images/Icon_rightArrow.svg\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconArrowLeft from \"../../assets/images/chevron-left.svg\";\r\nimport iconGallery from \"../../assets/images/icon_gallery.svg\";\r\nimport iconMap from \"../../assets/images/icon_map.svg\";\r\nimport iconLayers from \"../../assets/images/layer_icon.svg\";\r\nimport \"./PropertyImageList.css\";\r\nimport ImageListPopup from \"../ImageListPopup/ImageListPopup\";\r\nimport PopupProps from \"../ImageListPopup/ImageListPopup\";\r\nimport FloorPlanPopup from \"../FloorPlanPopup/FloorPlanPopup\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n floorPlanUrl: string;\r\n}\r\nexport default function PropertyImageList(prop: PopupProps) {\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);\r\n const [isFloorPlanPopupOpen, setIsFloorPlanPopupOpen] = useState(false);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (prop.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + prop.pictureUrls.length) %\r\n prop.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % prop.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const toggleAllPhotos = () => {\r\n setIsImagePopupOpen(!isImagePopupOpen);\r\n };\r\n\r\n const floorPlanClickHandler = () => {\r\n if (prop.floorPlanUrl) {\r\n setIsFloorPlanPopupOpen(true);\r\n }\r\n };\r\n\r\n const floorPlanPopupCloseHandler = () => {\r\n setIsFloorPlanPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"col-8 me-2 Pimagelist\">\r\n <div\r\n className=\"col-12 rounded-5 mainImage d-flex position-relative align-items-center\"\r\n style={{\r\n backgroundImage: `url(${prop.pictureUrls[currentImageIndex]?.url})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n >\r\n {/* Arrows on the main image */}\r\n <div\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute start-0 ms-2 align-items-center justify-content-center\"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img src={blcIconArrowLeft} className=\"blackArrow\" alt=\"Left Arrow\" />\r\n </div>\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute end-0 me-2 align-items-center justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Image Thumbnails */}\r\n <div className=\"d-flex flex-row gap-1 col-12 secondList\">\r\n <div className=\"col-lg-6 d-flex flex-row p-1\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute start-0\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img\r\n src={iconArrowLeft}\r\n className=\"arroIconColour\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1\"\r\n ref={imageListRef}\r\n >\r\n {prop.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 d-flex gap-2 flex-row rounded-3\">\r\n {prop.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute end-0 top-0\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3 ms-1\">\r\n <img\r\n src={iconArrowRight}\r\n className=\"arroIconColour\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Buttons for \"Alle Fotos\", \"Grundriss\", \"Karte\" */}\r\n <div className=\"col-6 d-flex flex-row\">\r\n <div className=\"col-lg-4 p-1\" role=\"button\" onClick={toggleAllPhotos}>\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconGallery} alt=\"Gallery Icon\" />\r\n <span className=\"listImgText\">Alle Fotos</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={floorPlanClickHandler}\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconLayers} alt=\"Layers Icon\" />\r\n <span className=\"listImgText\">Grundriss</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={() =>\r\n window.scrollTo({\r\n top: document.documentElement.scrollHeight,\r\n })\r\n }\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconMap} alt=\"Map Icon\" />\r\n <span className=\"listImgText\">Karte</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Popup for all photos */}\r\n {isImagePopupOpen && <ImageListPopup pictureUrls={prop.pictureUrls} />}\r\n\r\n {/* Popup for floor plan */}\r\n {isFloorPlanPopupOpen && (\r\n <FloorPlanPopup\r\n contentUrl={prop.floorPlanUrl}\r\n onCloseClick={floorPlanPopupCloseHandler}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/LayersIcon.34c085c352a2c9c8.svg\"","export default \"/static/media/locationIcon.0af399c78e0cdc20.svg\"","export default \"/static/media/default-property.9987f19670be82b6.jpg\"","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport layerIcon from \"../../assets/images/LayersIcon.svg\";\r\nimport heart from \"../../assets/images/heart.svg\";\r\nimport locationIcon from \"../../assets/images/locationIcon.svg\";\r\nimport \"../PropertyCard/PropertyCard.css\";\r\nimport noImageIcon from \"../../assets/images/default-property.jpg\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\ninterface PopupProps {\r\n property: {\r\n city: string;\r\n historicalProtection: boolean;\r\n basement: boolean;\r\n balcony: boolean;\r\n terrace: boolean;\r\n guestBathroom: boolean;\r\n bathrooms: string;\r\n usableArea: string;\r\n id: string;\r\n rooms: string;\r\n evaluation?: {\r\n askingPrice: number;\r\n };\r\n pictures: { contentUrl: string }[];\r\n };\r\n onClick: any;\r\n baseUrl: string;\r\n}\r\n\r\nexport default function PropertyCard(props: PopupProps) {\r\n const [liked, setLiked] = useState(false);\r\n\r\n const handleLike = () => {\r\n setLiked(!liked);\r\n };\r\n const pictureUrl =\r\n props.property.pictures && props.property.pictures.length > 0\r\n ? `${props.baseUrl}${props.property.pictures[0].contentUrl}`\r\n : noImageIcon;\r\n return (\r\n <div\r\n key={props.property.id}\r\n className=\"card-body me-4 mb-4 position-relative cardStyle\"\r\n style={{\r\n backgroundImage: `url(${pictureUrl})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n onClick={props.onClick}\r\n role=\"button\"\r\n >\r\n <div className=\"labelTopClass position-absolute top-0 start-0 col-sm-5 col-lg-8\">\r\n <div className=\"d-flex align-items-center ms-2 mb-1 mt-2 gap-2\">\r\n <label className=\"p-1 firstLabel d-flex flex-row justify-content-center align-items-center\">\r\n <img src={layerIcon} alt=\"Location Icon\" className=\"layersVector\" />\r\n <span className=\"layersText\">{\"Grundriss\"}</span>\r\n </label>\r\n {props.property.historicalProtection && (\r\n <label className=\"thirdLabels d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Denkmalschutz\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.basement && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Keller\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n <div className=\"d-flex align-items-center ms-2 start-0 gap-2\">\r\n {props.property.terrace && (\r\n <label className=\"p-1 thirdLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"Terrace\"}</span>\r\n </label>\r\n )}\r\n {props.property.balcony && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Balkon\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.guestBathroom && (\r\n <label className=\"col-1 fourthLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText p-1\">{\"Gäste-WC\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center position-absolute top-0 end-0 p-3\">\r\n {/*<img*/}\r\n {/* src={heart}*/}\r\n {/* alt=\" Heart Icon\"*/}\r\n {/* className={`heartVector ${liked ? \"liked\" : \"\"}`}*/}\r\n {/* onClick={handleLike}*/}\r\n {/*/>*/}\r\n </div>\r\n <div className=\"d-flex align-items-center mb-3 position-absolute bottom-0 start-0 p-2\">\r\n <span className=\"Price col-lg-12 col-md-12 col-sm-12 text-truncate p-1\">\r\n {formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €\r\n </span>\r\n </div>\r\n <div className=\"d-flex w-50 align-items-center position-absolute bottom-0 start-0 p-2\">\r\n <img src={locationIcon} alt=\"Location Icon\" className=\"Vector\" />\r\n <span className=\"locationText text-truncate\">\r\n {props.property.city || \"N/A\"}\r\n </span>\r\n </div>\r\n <div className=\"d-flex col-lg-6 col-md-6 col-sm-5 me-lg-0 me-md-0 me-sm-3 justify-content-center mb-2 position-absolute bottom-0 end-0\">\r\n <span className=\"detail col-lg-4 col-md-4 col-sm-6 text-truncate border-end \">\r\n {+props.property.rooms}\r\n <br />\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n <span>Zimmer</span>\r\n </span>\r\n <span className=\"detail col-lg-3 col-md-3 col-sm-4 text-truncate \">\r\n {+props.property.bathrooms}\r\n <br />\r\n {/* <FormattedMessage\r\n id=\"BATHROOM\"\r\n values={{ itemCount: +props.property.bathrooms }}\r\n /> */}\r\n {/* {+props.property.bathrooms} */}\r\n\r\n <span>Bad</span>\r\n </span>\r\n <span className=\"detail col-lg-5 col-md-5 col-sm-7 text-truncate border-start me-3\">\r\n {props.property.usableArea} m²\r\n <br />\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n <span>Wohnfläche</span>\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\n\r\n// Utility function to show a toast\r\nexport const showToast = (\r\n message: string,\r\n type: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\r\n) => {\r\n toast(message, { type });\r\n};\r\n\r\nconst ToastWrapper: React.FC = () => (\r\n <ToastContainer\r\n position=\"top-right\"\r\n autoClose={5000}\r\n hideProgressBar={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n />\r\n);\r\n\r\nexport default ToastWrapper;\r\n"],"names":["closeIcon","locationIcon"],"mappings":"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","x_google_ignoreList":[2]}
package/dist/index.js CHANGED
@@ -122,14 +122,25 @@ function formatPrice(number) {
122
122
  }
123
123
 
124
124
  function PropertyDetailsHeader(props) {
125
- var _a, _b, _c;
126
- var _d = React.useState(false), showPopUp = _d[0], setShowPopUp = _d[1];
125
+ var _a, _b, _c, _d;
126
+ var _e = React.useState(false), showPopUp = _e[0], setShowPopUp = _e[1];
127
+ var area = (_a = props.property) === null || _a === void 0 ? void 0 : _a.propertyArea;
128
+ function formatPropertyArea(area) {
129
+ if (typeof area === "number" || typeof area === "string") {
130
+ return area.toString().replace(".", ",");
131
+ }
132
+ else {
133
+ return area;
134
+ }
135
+ }
136
+ var formattedArea = formatPropertyArea(area);
137
+ "".concat(Number(formattedArea.replace(".", "")), " m\u00B2");
127
138
  var handlePopUp = function () {
128
139
  setShowPopUp(!showPopUp);
129
140
  };
130
141
  return (React.createElement("div", { className: "Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 " },
131
142
  React.createElement("div", { className: "header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 " },
132
- React.createElement("strong", null, (_a = props.title) !== null && _a !== void 0 ? _a : "-")),
143
+ React.createElement("strong", null, (_b = props.title) !== null && _b !== void 0 ? _b : "-")),
133
144
  React.createElement("div", { className: "header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4" },
134
145
  React.createElement("img", { src: locationIcon$1, className: "vector me-2", alt: "location Icon" }),
135
146
  React.createElement("div", { className: "propText text-truncate col-lg-6 col-md-6 d-flex align-items-center" }, props.property.city)),
@@ -137,7 +148,7 @@ function PropertyDetailsHeader(props) {
137
148
  React.createElement("img", { src: ShareIcon, alt: "share icon", className: "v_share me-3", onClick: handlePopUp })),
138
149
  React.createElement("div", { className: "fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0" },
139
150
  props && (React.createElement("div", { className: " propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center " },
140
- formatPrice((_c = (_b = props.property) === null || _b === void 0 ? void 0 : _b.askingPrice) !== null && _c !== void 0 ? _c : 0),
151
+ formatPrice((_d = (_c = props.property) === null || _c === void 0 ? void 0 : _c.askingPrice) !== null && _d !== void 0 ? _d : 0),
141
152
  React.createElement("br", null),
142
153
  "Kaufpreis")),
143
154
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
@@ -151,8 +162,8 @@ function PropertyDetailsHeader(props) {
151
162
  React.createElement("br", null),
152
163
  "Zimmer")),
153
164
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
154
- formatPrice(props.property.propertyArea),
155
- " m\u00B2",
165
+ formattedArea,
166
+ " ",
156
167
  React.createElement("br", null),
157
168
  "Grundst\u00FCck"))),
158
169
  showPopUp && React.createElement(SharePopup, null)));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/Button/Button.tsx","../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Popup/Popup.tsx","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg","../src/assets/images/envelope-fill.svg","../src/assets/images/facebook.svg","../src/assets/images/linkedin.svg","../src/assets/images/twitter-x.svg","../src/assets/images/whatsapp.svg","../src/components/SharePopup/SharePopup.tsx","../src/functions/util.ts","../src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx","../src/assets/images/Icon_rightArrow.svg","../src/assets/images/blackarrow-Right.svg","../src/assets/images/blckarrow-Left.svg","../src/assets/images/chevron-left.svg","../src/assets/images/icon_gallery.svg","../src/assets/images/icon_map.svg","../src/assets/images/layer_icon.svg","../src/assets/images/close.png","../src/components/ImageListPopup/ImageListPopup.tsx","../src/components/FloorPlanPopup/FloorPlanPopup.tsx","../src/components/PropertyImageList/PropertyImageList.tsx","../src/assets/images/LayersIcon.svg","../src/assets/images/locationIcon.svg","../src/assets/images/default-property.jpg","../src/components/PropertyCard/PropertyCard.tsx","../src/components/ToastWrapper/ToastWrapper.tsx"],"sourcesContent":["import React from 'react';\r\n\r\ninterface ButtonProps {\r\n label: string;\r\n}\r\n\r\nconst Button: React.FC<ButtonProps> = ({ label }) => {\r\n return <button>{label}</button>;\r\n};\r\n\r\nexport default Button;\r\n","export default \"/static/media/icon_close_2.e41bb9a4db48e048.png\"","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\r\nimport closeIcon from \"../../assets/images/icon_close_2.png\";\r\nimport \"./Popup.css\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n children: React.ReactNode;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={closeIcon}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Popup;\r\n","export default \"/static/media/icon_share_1.b9ec05630dc1087e.svg\"","export default \"/static/media/locationIconBlack.eb8e9e9226b43573.svg\"","export default \"/static/media/envelope-fill.6669c9d64183941c.svg\"","export default \"/static/media/facebook.ce73eacbfffe8a27.svg\"","export default \"/static/media/linkedin.7539333145b03678.svg\"","export default \"/static/media/twitter-x.48a4ac3f560f0a62.svg\"","export default \"/static/media/whatsapp.28e6b0b24adc9289.svg\"","import React, { useRef, useState } from \"react\";\r\nimport email from \"../../assets/images/envelope-fill.svg\";\r\nimport facebook from \"../../assets/images/facebook.svg\";\r\nimport x from \"../../assets/images/icon_close_2.png\";\r\nimport linkedln from \"../../assets/images/linkedin.svg\";\r\nimport Xtwitter from \"../../assets/images/twitter-x.svg\";\r\nimport whatsapp from \"../../assets/images/whatsapp.svg\";\r\nimport \"./SharePopup.css\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"../../styles/common.css\";\r\n\r\nexport default function SharePopup() {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n const urlInputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n const copyToClipboard = () => {\r\n urlInputRef.current!.select();\r\n document.execCommand(\"copy\");\r\n toast.success(\"URL copied to clipboard!\");\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={x}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <div className=\"popUpHeader col-lg-12 d-flex justify-content-center mb-2\">\r\n Jetzt teilen und weitersagen!\r\n </div>\r\n <div className=\"h-25 col-lg-12 socialMediaIconsSection d-flex flex-row align-items-center justify-content-center mx-auto\">\r\n <a\r\n href=\"https://twitter.com/intent/tweet?url=https://www.nestiq.de&text=Nestiq\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={Xtwitter}\r\n alt=\"twitter\"\r\n className=\"socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">X (Twitter)</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.nestiq.de\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={facebook}\r\n alt=\"facebook\"\r\n className=\"socialMediaIcons \"\r\n />\r\n <span className=\"socialMediaIconText\">Facebook</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://api.whatsapp.com/send?text=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={whatsapp}\r\n alt=\"whatsapp\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">WhatsApp</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={linkedln}\r\n alt=\"linkedin\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">LinkedIn</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img src={email} alt=\"email\" className=\" socialMediaIcons\" />\r\n <span className=\"socialMediaIconText\">E-Mail</span>\r\n </div>\r\n </a>\r\n </div>\r\n <div className=\"col-10 mx-auto\">\r\n <div className=\" row align-items-center position-relative\">\r\n <input\r\n ref={urlInputRef}\r\n type=\"text\"\r\n className=\"popup_search-input rounded-4 border border-0 \"\r\n placeholder=\"Enter link here\"\r\n value={window.location.href}\r\n readOnly\r\n />\r\n <button\r\n onClick={copyToClipboard}\r\n className=\"popupcustom-button border border-0 position-absolute me-2 col-lg-3 col-md-3 col-sm-3 rounded-4 fs-6\"\r\n type=\"button\"\r\n id=\"button\"\r\n >\r\n <strong>Kopieren</strong>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","export function formatPrice(number: number): string {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n}\r\n","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport ShareIcon from \"../../assets/images/icon_share_1.svg\";\r\nimport locationIcon from \"../../assets/images/locationIconBlack.svg\";\r\nimport \"./PropertyDetailsHeader.css\";\r\nimport SharePopup from \"../SharePopup/SharePopup\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\nexport interface PopupProps {\r\n property: {\r\n city: string;\r\n constructedArea: string;\r\n rooms: string;\r\n propertyArea: number;\r\n askingPrice: number;\r\n };\r\n title: string;\r\n}\r\n\r\nexport default function PropertyDetailsHeader(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(false);\r\n\r\n const handlePopUp = () => {\r\n setShowPopUp(!showPopUp);\r\n };\r\n\r\n return (\r\n <div className=\"Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 \">\r\n <div className=\"header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 \">\r\n <strong>{props.title ?? \"-\"}</strong>\r\n </div>\r\n <div className=\"header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4\">\r\n <img src={locationIcon} className=\"vector me-2\" alt=\"location Icon\" />\r\n\r\n <div className=\"propText text-truncate col-lg-6 col-md-6 d-flex align-items-center\">\r\n {props.property.city}\r\n </div>\r\n </div>\r\n <div className=\"d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4\">\r\n {/* <img src={Hearticon} alt=\"Location Icon\" className=\"v_share me-3\" /> */}\r\n <img\r\n src={ShareIcon}\r\n alt=\"share icon\"\r\n className=\"v_share me-3\"\r\n onClick={handlePopUp}\r\n />\r\n </div>\r\n <div className=\"fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0\">\r\n {props && (\r\n <div className=\" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center \">\r\n {formatPrice(props.property?.askingPrice ?? 0)}\r\n <br />\r\n Kaufpreis\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.constructedArea} m² <br />\r\n Wohnfläche\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.rooms} <br />\r\n Zimmer\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {formatPrice(props.property.propertyArea)} m²\r\n <br />\r\n Grundstück\r\n {/* <FormattedMessage id=\"Grundstück\" /> */}\r\n </div>\r\n )}\r\n </div>\r\n {showPopUp && <SharePopup />}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/Icon_rightArrow.bced4a705c07148d.svg\"","export default \"/static/media/blackarrow-Right.e585ae62dd55abae.svg\"","export default \"/static/media/blckarrow-Left.e2134741aa368d30.svg\"","export default \"/static/media/chevron-left.04f0a7f16b745c1a.svg\"","export default \"/static/media/icon_gallery.269b721daf2ca907.svg\"","export default \"/static/media/icon_map.2318ec664c3e615e.svg\"","export default \"/static/media/layer_icon.9b56c187199c44b5.svg\"","export default \"/static/media/close.b5ce9141e80c688b.png\"","import \"./ImageListPopup.css\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n}\r\n\r\nexport default function ImageListPopup(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (props.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + props.pictureUrls.length) %\r\n props.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % props.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <span className=\"text-white align-self-center\">\r\n {props.pictureUrls[currentImageIndex].title}\r\n </span>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight align-self-center align-items-center me-5\">\r\n <div\r\n className=\"rounded-circle border onImageArrow start-0 d-flex \"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img\r\n src={blcIconArrowLeft}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"p-2 bd-highlight\">\r\n <div\r\n className=\" rounded-5 mainImage \"\r\n style={{\r\n backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n </div>\r\n <div className=\"p-2 bd-highlight align-self-center ms-5\">\r\n {\" \"}\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-row\">\r\n {/* Arrows on the main image */}\r\n </div>\r\n <div className=\"d-flex flex-row gap-4 w-100 secondList \">\r\n <div className=\"col-lg-12 d-flex flex-row p-1 align-self-center mt-5\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto \"\r\n ref={imageListRef}\r\n >\r\n {props.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3\">\r\n {props.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\n\r\ninterface PopupProps {\r\n contentUrl: string;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst FloorPlanPopup: React.FC<PopupProps> = ({ contentUrl, onCloseClick }) => {\r\n const [isContentImage, setIsContentImage] = useState(false);\r\n\r\n useEffect(() => {\r\n if (contentUrl) {\r\n const fileFormat = contentUrl.split(\".\").pop();\r\n if (\r\n fileFormat === \"png\" ||\r\n fileFormat === \"jpg\" ||\r\n fileFormat === \"jpeg\" ||\r\n fileFormat === \"svg\"\r\n ) {\r\n setIsContentImage(true);\r\n }\r\n }\r\n }, [contentUrl]);\r\n\r\n const downloadButtonClickHandler = (): void => {\r\n // Create a temporary anchor element\r\n const link = document.createElement(\"a\");\r\n link.href = contentUrl;\r\n link.setAttribute(\"download\", \"\"); // This attribute hints the browser to download the file\r\n\r\n // Append the anchor to the body and click it to trigger the download\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Clean up: remove the anchor element\r\n document.body.removeChild(link);\r\n };\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight\">\r\n {isContentImage && (\r\n <div\r\n className=\"rounded-5 mainImage\"\r\n style={{\r\n backgroundImage: `url(${contentUrl})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n )}\r\n {!isContentImage && (\r\n <div className=\"text-white text-center\">\r\n No Preview Available\r\n <button\r\n className=\"btn btn-info\"\r\n onClick={downloadButtonClickHandler}\r\n >\r\n {\" \"}\r\n Download{\" \"}\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FloorPlanPopup;\r\n","import React, { useRef, useState } from \"react\";\r\nimport iconArrowRight from \"../../assets/images/Icon_rightArrow.svg\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconArrowLeft from \"../../assets/images/chevron-left.svg\";\r\nimport iconGallery from \"../../assets/images/icon_gallery.svg\";\r\nimport iconMap from \"../../assets/images/icon_map.svg\";\r\nimport iconLayers from \"../../assets/images/layer_icon.svg\";\r\nimport \"./PropertyImageList.css\";\r\nimport ImageListPopup from \"../ImageListPopup/ImageListPopup\";\r\nimport PopupProps from \"../ImageListPopup/ImageListPopup\";\r\nimport FloorPlanPopup from \"../FloorPlanPopup/FloorPlanPopup\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n floorPlanUrl: string;\r\n}\r\nexport default function PropertyImageList(prop: PopupProps) {\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);\r\n const [isFloorPlanPopupOpen, setIsFloorPlanPopupOpen] = useState(false);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (prop.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + prop.pictureUrls.length) %\r\n prop.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % prop.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const toggleAllPhotos = () => {\r\n setIsImagePopupOpen(!isImagePopupOpen);\r\n };\r\n\r\n const floorPlanClickHandler = () => {\r\n if (prop.floorPlanUrl) {\r\n setIsFloorPlanPopupOpen(true);\r\n }\r\n };\r\n\r\n const floorPlanPopupCloseHandler = () => {\r\n setIsFloorPlanPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"col-8 me-2 Pimagelist\">\r\n <div\r\n className=\"col-12 rounded-5 mainImage d-flex position-relative align-items-center\"\r\n style={{\r\n backgroundImage: `url(${prop.pictureUrls[currentImageIndex]?.url})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n >\r\n {/* Arrows on the main image */}\r\n <div\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute start-0 ms-2 align-items-center justify-content-center\"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img src={blcIconArrowLeft} className=\"blackArrow\" alt=\"Left Arrow\" />\r\n </div>\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute end-0 me-2 align-items-center justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Image Thumbnails */}\r\n <div className=\"d-flex flex-row gap-1 col-12 secondList\">\r\n <div className=\"col-lg-6 d-flex flex-row p-1\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute start-0\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img\r\n src={iconArrowLeft}\r\n className=\"arroIconColour\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1\"\r\n ref={imageListRef}\r\n >\r\n {prop.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 d-flex gap-2 flex-row rounded-3\">\r\n {prop.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute end-0 top-0\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3 ms-1\">\r\n <img\r\n src={iconArrowRight}\r\n className=\"arroIconColour\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Buttons for \"Alle Fotos\", \"Grundriss\", \"Karte\" */}\r\n <div className=\"col-6 d-flex flex-row\">\r\n <div className=\"col-lg-4 p-1\" role=\"button\" onClick={toggleAllPhotos}>\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconGallery} alt=\"Gallery Icon\" />\r\n <span className=\"listImgText\">Alle Fotos</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={floorPlanClickHandler}\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconLayers} alt=\"Layers Icon\" />\r\n <span className=\"listImgText\">Grundriss</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={() =>\r\n window.scrollTo({\r\n top: document.documentElement.scrollHeight,\r\n })\r\n }\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconMap} alt=\"Map Icon\" />\r\n <span className=\"listImgText\">Karte</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Popup for all photos */}\r\n {isImagePopupOpen && <ImageListPopup pictureUrls={prop.pictureUrls} />}\r\n\r\n {/* Popup for floor plan */}\r\n {isFloorPlanPopupOpen && (\r\n <FloorPlanPopup\r\n contentUrl={prop.floorPlanUrl}\r\n onCloseClick={floorPlanPopupCloseHandler}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/LayersIcon.34c085c352a2c9c8.svg\"","export default \"/static/media/locationIcon.0af399c78e0cdc20.svg\"","export default \"/static/media/default-property.9987f19670be82b6.jpg\"","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport layerIcon from \"../../assets/images/LayersIcon.svg\";\r\nimport heart from \"../../assets/images/heart.svg\";\r\nimport locationIcon from \"../../assets/images/locationIcon.svg\";\r\nimport \"../PropertyCard/PropertyCard.css\";\r\nimport noImageIcon from \"../../assets/images/default-property.jpg\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\ninterface PopupProps {\r\n property: {\r\n city: string;\r\n historicalProtection: boolean;\r\n basement: boolean;\r\n balcony: boolean;\r\n terrace: boolean;\r\n guestBathroom: boolean;\r\n bathrooms: string;\r\n usableArea: string;\r\n id: string;\r\n rooms: string;\r\n evaluation?: {\r\n askingPrice: number;\r\n };\r\n pictures: { contentUrl: string }[];\r\n };\r\n onClick: any;\r\n baseUrl: string;\r\n}\r\n\r\nexport default function PropertyCard(props: PopupProps) {\r\n const [liked, setLiked] = useState(false);\r\n\r\n const handleLike = () => {\r\n setLiked(!liked);\r\n };\r\n const pictureUrl =\r\n props.property.pictures && props.property.pictures.length > 0\r\n ? `${props.baseUrl}${props.property.pictures[0].contentUrl}`\r\n : noImageIcon;\r\n return (\r\n <div\r\n key={props.property.id}\r\n className=\"card-body me-4 mb-4 position-relative cardStyle\"\r\n style={{\r\n backgroundImage: `url(${pictureUrl})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n onClick={props.onClick}\r\n role=\"button\"\r\n >\r\n <div className=\"labelTopClass position-absolute top-0 start-0 col-sm-5 col-lg-8\">\r\n <div className=\"d-flex align-items-center ms-2 mb-1 mt-2 gap-2\">\r\n <label className=\"p-1 firstLabel d-flex flex-row justify-content-center align-items-center\">\r\n <img src={layerIcon} alt=\"Location Icon\" className=\"layersVector\" />\r\n <span className=\"layersText\">{\"Grundriss\"}</span>\r\n </label>\r\n {props.property.historicalProtection && (\r\n <label className=\"thirdLabels d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Denkmalschutz\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.basement && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Keller\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n <div className=\"d-flex align-items-center ms-2 start-0 gap-2\">\r\n {props.property.terrace && (\r\n <label className=\"p-1 thirdLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"Terrace\"}</span>\r\n </label>\r\n )}\r\n {props.property.balcony && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Balkon\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.guestBathroom && (\r\n <label className=\"col-1 fourthLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText p-1\">{\"Gäste-WC\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center position-absolute top-0 end-0 p-3\">\r\n {/*<img*/}\r\n {/* src={heart}*/}\r\n {/* alt=\" Heart Icon\"*/}\r\n {/* className={`heartVector ${liked ? \"liked\" : \"\"}`}*/}\r\n {/* onClick={handleLike}*/}\r\n {/*/>*/}\r\n </div>\r\n <div className=\"d-flex align-items-center mb-3 position-absolute bottom-0 start-0 p-2\">\r\n <span className=\"Price col-lg-12 col-md-12 col-sm-12 text-truncate p-1\">\r\n {formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €\r\n </span>\r\n </div>\r\n <div className=\"d-flex w-50 align-items-center position-absolute bottom-0 start-0 p-2\">\r\n <img src={locationIcon} alt=\"Location Icon\" className=\"Vector\" />\r\n <span className=\"locationText text-truncate\">\r\n {props.property.city || \"N/A\"}\r\n </span>\r\n </div>\r\n <div className=\"d-flex col-lg-6 col-md-6 col-sm-5 me-lg-0 me-md-0 me-sm-3 justify-content-center mb-2 position-absolute bottom-0 end-0\">\r\n <span className=\"detail col-lg-4 col-md-4 col-sm-6 text-truncate border-end \">\r\n {+props.property.rooms}\r\n <br />\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n <span>Zimmer</span>\r\n </span>\r\n <span className=\"detail col-lg-3 col-md-3 col-sm-4 text-truncate \">\r\n {+props.property.bathrooms}\r\n <br />\r\n {/* <FormattedMessage\r\n id=\"BATHROOM\"\r\n values={{ itemCount: +props.property.bathrooms }}\r\n /> */}\r\n {/* {+props.property.bathrooms} */}\r\n\r\n <span>Bad</span>\r\n </span>\r\n <span className=\"detail col-lg-5 col-md-5 col-sm-7 text-truncate border-start me-3\">\r\n {props.property.usableArea} m²\r\n <br />\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n <span>Wohnfläche</span>\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\n\r\n// Utility function to show a toast\r\nexport const showToast = (\r\n message: string,\r\n type: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\r\n) => {\r\n toast(message, { type });\r\n};\r\n\r\nconst ToastWrapper: React.FC = () => (\r\n <ToastContainer\r\n position=\"top-right\"\r\n autoClose={5000}\r\n hideProgressBar={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n />\r\n);\r\n\r\nexport default ToastWrapper;\r\n"],"names":["closeIcon","useState","useRef","toast","locationIcon","useEffect","ToastContainer"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.js","sources":["../src/components/Button/Button.tsx","../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Popup/Popup.tsx","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg","../src/assets/images/envelope-fill.svg","../src/assets/images/facebook.svg","../src/assets/images/linkedin.svg","../src/assets/images/twitter-x.svg","../src/assets/images/whatsapp.svg","../src/components/SharePopup/SharePopup.tsx","../src/functions/util.ts","../src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx","../src/assets/images/Icon_rightArrow.svg","../src/assets/images/blackarrow-Right.svg","../src/assets/images/blckarrow-Left.svg","../src/assets/images/chevron-left.svg","../src/assets/images/icon_gallery.svg","../src/assets/images/icon_map.svg","../src/assets/images/layer_icon.svg","../src/assets/images/close.png","../src/components/ImageListPopup/ImageListPopup.tsx","../src/components/FloorPlanPopup/FloorPlanPopup.tsx","../src/components/PropertyImageList/PropertyImageList.tsx","../src/assets/images/LayersIcon.svg","../src/assets/images/locationIcon.svg","../src/assets/images/default-property.jpg","../src/components/PropertyCard/PropertyCard.tsx","../src/components/ToastWrapper/ToastWrapper.tsx"],"sourcesContent":["import React from 'react';\r\n\r\ninterface ButtonProps {\r\n label: string;\r\n}\r\n\r\nconst Button: React.FC<ButtonProps> = ({ label }) => {\r\n return <button>{label}</button>;\r\n};\r\n\r\nexport default Button;\r\n","export default \"/static/media/icon_close_2.e41bb9a4db48e048.png\"","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from \"react\";\r\nimport closeIcon from \"../../assets/images/icon_close_2.png\";\r\nimport \"./Popup.css\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n children: React.ReactNode;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={closeIcon}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n {children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Popup;\r\n","export default \"/static/media/icon_share_1.b9ec05630dc1087e.svg\"","export default \"/static/media/locationIconBlack.eb8e9e9226b43573.svg\"","export default \"/static/media/envelope-fill.6669c9d64183941c.svg\"","export default \"/static/media/facebook.ce73eacbfffe8a27.svg\"","export default \"/static/media/linkedin.7539333145b03678.svg\"","export default \"/static/media/twitter-x.48a4ac3f560f0a62.svg\"","export default \"/static/media/whatsapp.28e6b0b24adc9289.svg\"","import React, { useRef, useState } from \"react\";\r\nimport email from \"../../assets/images/envelope-fill.svg\";\r\nimport facebook from \"../../assets/images/facebook.svg\";\r\nimport x from \"../../assets/images/icon_close_2.png\";\r\nimport linkedln from \"../../assets/images/linkedin.svg\";\r\nimport Xtwitter from \"../../assets/images/twitter-x.svg\";\r\nimport whatsapp from \"../../assets/images/whatsapp.svg\";\r\nimport \"./SharePopup.css\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"../../styles/common.css\";\r\n\r\nexport default function SharePopup() {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n const urlInputRef = useRef<HTMLInputElement | null>(null);\r\n\r\n const copyToClipboard = () => {\r\n urlInputRef.current!.select();\r\n document.execCommand(\"copy\");\r\n toast.success(\"URL copied to clipboard!\");\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\"shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4\">\r\n <div className=\"end-0 top-0 position-absolute \">\r\n <img\r\n src={x}\r\n alt=\"close\"\r\n className=\"closeIcon me-2\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <div className=\"popUpHeader col-lg-12 d-flex justify-content-center mb-2\">\r\n Jetzt teilen und weitersagen!\r\n </div>\r\n <div className=\"h-25 col-lg-12 socialMediaIconsSection d-flex flex-row align-items-center justify-content-center mx-auto\">\r\n <a\r\n href=\"https://twitter.com/intent/tweet?url=https://www.nestiq.de&text=Nestiq\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={Xtwitter}\r\n alt=\"twitter\"\r\n className=\"socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">X (Twitter)</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.nestiq.de\"\r\n className=\"text-decoration-none\"\r\n target=\"blank\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={facebook}\r\n alt=\"facebook\"\r\n className=\"socialMediaIcons \"\r\n />\r\n <span className=\"socialMediaIconText\">Facebook</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://api.whatsapp.com/send?text=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={whatsapp}\r\n alt=\"whatsapp\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">WhatsApp</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img\r\n src={linkedln}\r\n alt=\"linkedin\"\r\n className=\" socialMediaIcons\"\r\n />\r\n <span className=\"socialMediaIconText\">LinkedIn</span>\r\n </div>\r\n </a>\r\n\r\n <a\r\n href=\"https://www.nestiq.de\"\r\n target=\"blank\"\r\n className=\"text-decoration-none\"\r\n >\r\n <div className=\" flex-column d-flex align-items-center\">\r\n <img src={email} alt=\"email\" className=\" socialMediaIcons\" />\r\n <span className=\"socialMediaIconText\">E-Mail</span>\r\n </div>\r\n </a>\r\n </div>\r\n <div className=\"col-10 mx-auto\">\r\n <div className=\" row align-items-center position-relative\">\r\n <input\r\n ref={urlInputRef}\r\n type=\"text\"\r\n className=\"popup_search-input rounded-4 border border-0 \"\r\n placeholder=\"Enter link here\"\r\n value={window.location.href}\r\n readOnly\r\n />\r\n <button\r\n onClick={copyToClipboard}\r\n className=\"popupcustom-button border border-0 position-absolute me-2 col-lg-3 col-md-3 col-sm-3 rounded-4 fs-6\"\r\n type=\"button\"\r\n id=\"button\"\r\n >\r\n <strong>Kopieren</strong>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","export function formatPrice(number: number): string {\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n}\r\n","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport ShareIcon from \"../../assets/images/icon_share_1.svg\";\r\nimport locationIcon from \"../../assets/images/locationIconBlack.svg\";\r\nimport \"./PropertyDetailsHeader.css\";\r\nimport SharePopup from \"../SharePopup/SharePopup\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\nexport interface PopupProps {\r\n property: {\r\n city: string;\r\n constructedArea: string;\r\n rooms: string;\r\n propertyArea: number;\r\n askingPrice: number;\r\n };\r\n title: string;\r\n}\r\n\r\nexport default function PropertyDetailsHeader(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(false);\r\n const area = props.property?.propertyArea;\r\n\r\n function formatPropertyArea(area: number | string): string {\r\n if (typeof area === \"number\" || typeof area === \"string\") {\r\n return area.toString().replace(\".\", \",\");\r\n }\r\n else{\r\n return area;\r\n console.log(\"Area is not a number or string\");\r\n }\r\n }\r\n const formattedArea = formatPropertyArea(area);\r\n const output = `${Number(formattedArea.replace(\".\", \"\"))} m²`;\r\n \r\n const handlePopUp = () => {\r\n setShowPopUp(!showPopUp);\r\n };\r\n\r\n return (\r\n <div className=\"Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 \">\r\n <div className=\"header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 \">\r\n <strong>{props.title ?? \"-\"}</strong>\r\n </div>\r\n <div className=\"header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4\">\r\n <img src={locationIcon} className=\"vector me-2\" alt=\"location Icon\" />\r\n\r\n <div className=\"propText text-truncate col-lg-6 col-md-6 d-flex align-items-center\">\r\n {props.property.city}\r\n </div>\r\n </div>\r\n <div className=\"d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4\">\r\n {/* <img src={Hearticon} alt=\"Location Icon\" className=\"v_share me-3\" /> */}\r\n <img\r\n src={ShareIcon}\r\n alt=\"share icon\"\r\n className=\"v_share me-3\"\r\n onClick={handlePopUp}\r\n />\r\n </div>\r\n <div className=\"fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0\">\r\n {props && (\r\n <div className=\" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center \">\r\n {formatPrice(props.property?.askingPrice ?? 0)}\r\n <br />\r\n Kaufpreis\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.constructedArea} m² <br />\r\n Wohnfläche\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {props.property.rooms} <br />\r\n Zimmer\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n </div>\r\n )}\r\n {props && (\r\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\r\n {formattedArea} <br />\r\n Grundstück\r\n {/* <FormattedMessage id=\"Grundstück\" /> */}\r\n </div>\r\n )}\r\n </div>\r\n {showPopUp && <SharePopup />}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/Icon_rightArrow.bced4a705c07148d.svg\"","export default \"/static/media/blackarrow-Right.e585ae62dd55abae.svg\"","export default \"/static/media/blckarrow-Left.e2134741aa368d30.svg\"","export default \"/static/media/chevron-left.04f0a7f16b745c1a.svg\"","export default \"/static/media/icon_gallery.269b721daf2ca907.svg\"","export default \"/static/media/icon_map.2318ec664c3e615e.svg\"","export default \"/static/media/layer_icon.9b56c187199c44b5.svg\"","export default \"/static/media/close.b5ce9141e80c688b.png\"","import \"./ImageListPopup.css\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\nimport \"../../styles/common.css\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n}\r\n\r\nexport default function ImageListPopup(props: PopupProps) {\r\n const [showPopUp, setShowPopUp] = useState(true);\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (props.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + props.pictureUrls.length) %\r\n props.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % props.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setShowPopUp(false);\r\n };\r\n\r\n return (\r\n <div>\r\n {showPopUp && (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={handleClose}\r\n />\r\n </div>\r\n <span className=\"text-white align-self-center\">\r\n {props.pictureUrls[currentImageIndex].title}\r\n </span>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight align-self-center align-items-center me-5\">\r\n <div\r\n className=\"rounded-circle border onImageArrow start-0 d-flex \"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img\r\n src={blcIconArrowLeft}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"p-2 bd-highlight\">\r\n <div\r\n className=\" rounded-5 mainImage \"\r\n style={{\r\n backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n </div>\r\n <div className=\"p-2 bd-highlight align-self-center ms-5\">\r\n {\" \"}\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow align-self-center\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"d-flex flex-row\">\r\n {/* Arrows on the main image */}\r\n </div>\r\n <div className=\"d-flex flex-row gap-4 w-100 secondList \">\r\n <div className=\"col-lg-12 d-flex flex-row p-1 align-self-center mt-5\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto \"\r\n ref={imageListRef}\r\n >\r\n {props.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3\">\r\n {props.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport iconClose from \"../../assets/images/close.png\";\r\n\r\ninterface PopupProps {\r\n contentUrl: string;\r\n onCloseClick: () => void;\r\n}\r\n\r\nconst FloorPlanPopup: React.FC<PopupProps> = ({ contentUrl, onCloseClick }) => {\r\n const [isContentImage, setIsContentImage] = useState(false);\r\n\r\n useEffect(() => {\r\n if (contentUrl) {\r\n const fileFormat = contentUrl.split(\".\").pop();\r\n if (\r\n fileFormat === \"png\" ||\r\n fileFormat === \"jpg\" ||\r\n fileFormat === \"jpeg\" ||\r\n fileFormat === \"svg\"\r\n ) {\r\n setIsContentImage(true);\r\n }\r\n }\r\n }, [contentUrl]);\r\n\r\n const downloadButtonClickHandler = (): void => {\r\n // Create a temporary anchor element\r\n const link = document.createElement(\"a\");\r\n link.href = contentUrl;\r\n link.setAttribute(\"download\", \"\"); // This attribute hints the browser to download the file\r\n\r\n // Append the anchor to the body and click it to trigger the download\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Clean up: remove the anchor element\r\n document.body.removeChild(link);\r\n };\r\n return (\r\n <div className=\"popup-overlay\">\r\n <div className=\" d-flex w-50 flex-column col-6 \">\r\n <div className=\"d-flex align-self-end me-5 mt-5\">\r\n <img\r\n src={iconClose}\r\n alt=\"close\"\r\n className=\"closeIcon mt-5\"\r\n onClick={onCloseClick}\r\n />\r\n </div>\r\n <div className=\"d-flex justify-content-center\">\r\n <div className=\"p-2 bd-highlight\">\r\n {isContentImage && (\r\n <div\r\n className=\"rounded-5 mainImage\"\r\n style={{\r\n backgroundImage: `url(${contentUrl})`,\r\n height: \"350px\",\r\n width: \"600px\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n ></div>\r\n )}\r\n {!isContentImage && (\r\n <div className=\"text-white text-center\">\r\n No Preview Available\r\n <button\r\n className=\"btn btn-info\"\r\n onClick={downloadButtonClickHandler}\r\n >\r\n {\" \"}\r\n Download{\" \"}\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FloorPlanPopup;\r\n","import React, { useRef, useState } from \"react\";\r\nimport iconArrowRight from \"../../assets/images/Icon_rightArrow.svg\";\r\nimport blcIconArrowRight from \"../../assets/images/blackarrow-Right.svg\";\r\nimport blcIconArrowLeft from \"../../assets/images/blckarrow-Left.svg\";\r\nimport iconArrowLeft from \"../../assets/images/chevron-left.svg\";\r\nimport iconGallery from \"../../assets/images/icon_gallery.svg\";\r\nimport iconMap from \"../../assets/images/icon_map.svg\";\r\nimport iconLayers from \"../../assets/images/layer_icon.svg\";\r\nimport \"./PropertyImageList.css\";\r\nimport ImageListPopup from \"../ImageListPopup/ImageListPopup\";\r\nimport PopupProps from \"../ImageListPopup/ImageListPopup\";\r\nimport FloorPlanPopup from \"../FloorPlanPopup/FloorPlanPopup\";\r\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: string }[];\r\n floorPlanUrl: string;\r\n}\r\nexport default function PropertyImageList(prop: PopupProps) {\r\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\r\n const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);\r\n const [isFloorPlanPopupOpen, setIsFloorPlanPopupOpen] = useState(false);\r\n const imageListRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const handleArrowClickInMainImage = (direction: any) => {\r\n if (prop.pictureUrls.length === 0) return;\r\n\r\n let newIndex = currentImageIndex;\r\n if (direction === \"left\") {\r\n newIndex =\r\n (currentImageIndex - 1 + prop.pictureUrls.length) %\r\n prop.pictureUrls.length;\r\n } else if (direction === \"right\") {\r\n newIndex = (currentImageIndex + 1) % prop.pictureUrls.length;\r\n }\r\n\r\n setCurrentImageIndex(newIndex);\r\n\r\n imageListRef.current!.scrollTo({\r\n left: newIndex * 150,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const toggleAllPhotos = () => {\r\n setIsImagePopupOpen(!isImagePopupOpen);\r\n };\r\n\r\n const floorPlanClickHandler = () => {\r\n if (prop.floorPlanUrl) {\r\n setIsFloorPlanPopupOpen(true);\r\n }\r\n };\r\n\r\n const floorPlanPopupCloseHandler = () => {\r\n setIsFloorPlanPopupOpen(false);\r\n };\r\n\r\n return (\r\n <div className=\"col-8 me-2 Pimagelist\">\r\n <div\r\n className=\"col-12 rounded-5 mainImage d-flex position-relative align-items-center\"\r\n style={{\r\n backgroundImage: `url(${prop.pictureUrls[currentImageIndex]?.url})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n >\r\n {/* Arrows on the main image */}\r\n <div\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute start-0 ms-2 align-items-center justify-content-center\"\r\n role=\"button\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n >\r\n <img src={blcIconArrowLeft} className=\"blackArrow\" alt=\"Left Arrow\" />\r\n </div>\r\n <div\r\n role=\"button\"\r\n className=\"rounded-circle border onImageArrow d-flex position-absolute end-0 me-2 align-items-center justify-content-center\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n >\r\n <img\r\n src={blcIconArrowRight}\r\n className=\"blackArrow\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Image Thumbnails */}\r\n <div className=\"d-flex flex-row gap-1 col-12 secondList\">\r\n <div className=\"col-lg-6 d-flex flex-row p-1\">\r\n <div className=\"col-12 position-relative d-flex justify-content-center\">\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute start-0\"\r\n onClick={() => handleArrowClickInMainImage(\"left\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img\r\n src={iconArrowLeft}\r\n className=\"arroIconColour\"\r\n alt=\"Left Arrow\"\r\n />\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1\"\r\n ref={imageListRef}\r\n >\r\n {prop.pictureUrls.length > 0 && (\r\n <div className=\"col-lg-5 h-100 d-flex gap-2 flex-row rounded-3\">\r\n {prop.pictureUrls.map((picture, index) => (\r\n <div\r\n key={index}\r\n className=\"col-lg-12 h-100 d-flex\"\r\n onClick={() => {\r\n setCurrentImageIndex(index);\r\n imageListRef.current!.scrollTo({\r\n left: index * 150,\r\n behavior: \"smooth\",\r\n });\r\n }}\r\n role=\"button\"\r\n >\r\n <img\r\n src={picture.url}\r\n alt={`Image ${index + 1}`}\r\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <div\r\n className=\"col-1 h-100 d-flex position-absolute end-0 top-0\"\r\n onClick={() => handleArrowClickInMainImage(\"right\")}\r\n role=\"button\"\r\n >\r\n <div className=\"col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3 ms-1\">\r\n <img\r\n src={iconArrowRight}\r\n className=\"arroIconColour\"\r\n alt=\"Right Arrow\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Buttons for \"Alle Fotos\", \"Grundriss\", \"Karte\" */}\r\n <div className=\"col-6 d-flex flex-row\">\r\n <div className=\"col-lg-4 p-1\" role=\"button\" onClick={toggleAllPhotos}>\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconGallery} alt=\"Gallery Icon\" />\r\n <span className=\"listImgText\">Alle Fotos</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={floorPlanClickHandler}\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconLayers} alt=\"Layers Icon\" />\r\n <span className=\"listImgText\">Grundriss</span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"col-lg-4 p-1\"\r\n role=\"button\"\r\n onClick={() =>\r\n window.scrollTo({\r\n top: document.documentElement.scrollHeight,\r\n })\r\n }\r\n >\r\n <div className=\"border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3\">\r\n <img src={iconMap} alt=\"Map Icon\" />\r\n <span className=\"listImgText\">Karte</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Popup for all photos */}\r\n {isImagePopupOpen && <ImageListPopup pictureUrls={prop.pictureUrls} />}\r\n\r\n {/* Popup for floor plan */}\r\n {isFloorPlanPopupOpen && (\r\n <FloorPlanPopup\r\n contentUrl={prop.floorPlanUrl}\r\n onCloseClick={floorPlanPopupCloseHandler}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","export default \"/static/media/LayersIcon.34c085c352a2c9c8.svg\"","export default \"/static/media/locationIcon.0af399c78e0cdc20.svg\"","export default \"/static/media/default-property.9987f19670be82b6.jpg\"","import React, { useState } from \"react\";\r\n// import { FormattedMessage } from \"react-intl\";\r\nimport layerIcon from \"../../assets/images/LayersIcon.svg\";\r\nimport heart from \"../../assets/images/heart.svg\";\r\nimport locationIcon from \"../../assets/images/locationIcon.svg\";\r\nimport \"../PropertyCard/PropertyCard.css\";\r\nimport noImageIcon from \"../../assets/images/default-property.jpg\";\r\nimport { formatPrice } from \"../../functions/util\";\r\n\r\ninterface PopupProps {\r\n property: {\r\n city: string;\r\n historicalProtection: boolean;\r\n basement: boolean;\r\n balcony: boolean;\r\n terrace: boolean;\r\n guestBathroom: boolean;\r\n bathrooms: string;\r\n usableArea: string;\r\n id: string;\r\n rooms: string;\r\n evaluation?: {\r\n askingPrice: number;\r\n };\r\n pictures: { contentUrl: string }[];\r\n };\r\n onClick: any;\r\n baseUrl: string;\r\n}\r\n\r\nexport default function PropertyCard(props: PopupProps) {\r\n const [liked, setLiked] = useState(false);\r\n\r\n const handleLike = () => {\r\n setLiked(!liked);\r\n };\r\n const pictureUrl =\r\n props.property.pictures && props.property.pictures.length > 0\r\n ? `${props.baseUrl}${props.property.pictures[0].contentUrl}`\r\n : noImageIcon;\r\n return (\r\n <div\r\n key={props.property.id}\r\n className=\"card-body me-4 mb-4 position-relative cardStyle\"\r\n style={{\r\n backgroundImage: `url(${pictureUrl})`,\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n }}\r\n onClick={props.onClick}\r\n role=\"button\"\r\n >\r\n <div className=\"labelTopClass position-absolute top-0 start-0 col-sm-5 col-lg-8\">\r\n <div className=\"d-flex align-items-center ms-2 mb-1 mt-2 gap-2\">\r\n <label className=\"p-1 firstLabel d-flex flex-row justify-content-center align-items-center\">\r\n <img src={layerIcon} alt=\"Location Icon\" className=\"layersVector\" />\r\n <span className=\"layersText\">{\"Grundriss\"}</span>\r\n </label>\r\n {props.property.historicalProtection && (\r\n <label className=\"thirdLabels d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Denkmalschutz\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.basement && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Keller\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n <div className=\"d-flex align-items-center ms-2 start-0 gap-2\">\r\n {props.property.terrace && (\r\n <label className=\"p-1 thirdLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"Terrace\"}</span>\r\n </label>\r\n )}\r\n {props.property.balcony && (\r\n <label className=\"secondLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText p-1\">{\"Balkon\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.guestBathroom && (\r\n <label className=\"col-1 fourthLabels d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText p-1\">{\"Gäste-WC\"}</span>\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"d-flex align-items-center position-absolute top-0 end-0 p-3\">\r\n {/*<img*/}\r\n {/* src={heart}*/}\r\n {/* alt=\" Heart Icon\"*/}\r\n {/* className={`heartVector ${liked ? \"liked\" : \"\"}`}*/}\r\n {/* onClick={handleLike}*/}\r\n {/*/>*/}\r\n </div>\r\n <div className=\"d-flex align-items-center mb-3 position-absolute bottom-0 start-0 p-2\">\r\n <span className=\"Price col-lg-12 col-md-12 col-sm-12 text-truncate p-1\">\r\n {formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €\r\n </span>\r\n </div>\r\n <div className=\"d-flex w-50 align-items-center position-absolute bottom-0 start-0 p-2\">\r\n <img src={locationIcon} alt=\"Location Icon\" className=\"Vector\" />\r\n <span className=\"locationText text-truncate\">\r\n {props.property.city || \"N/A\"}\r\n </span>\r\n </div>\r\n <div className=\"d-flex col-lg-6 col-md-6 col-sm-5 me-lg-0 me-md-0 me-sm-3 justify-content-center mb-2 position-absolute bottom-0 end-0\">\r\n <span className=\"detail col-lg-4 col-md-4 col-sm-6 text-truncate border-end \">\r\n {+props.property.rooms}\r\n <br />\r\n {/* <FormattedMessage id=\"ROOMS\" /> */}\r\n <span>Zimmer</span>\r\n </span>\r\n <span className=\"detail col-lg-3 col-md-3 col-sm-4 text-truncate \">\r\n {+props.property.bathrooms}\r\n <br />\r\n {/* <FormattedMessage\r\n id=\"BATHROOM\"\r\n values={{ itemCount: +props.property.bathrooms }}\r\n /> */}\r\n {/* {+props.property.bathrooms} */}\r\n\r\n <span>Bad</span>\r\n </span>\r\n <span className=\"detail col-lg-5 col-md-5 col-sm-7 text-truncate border-start me-3\">\r\n {props.property.usableArea} m²\r\n <br />\r\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\r\n <span>Wohnfläche</span>\r\n </span>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\n\r\n// Utility function to show a toast\r\nexport const showToast = (\r\n message: string,\r\n type: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\",\r\n) => {\r\n toast(message, { type });\r\n};\r\n\r\nconst ToastWrapper: React.FC = () => (\r\n <ToastContainer\r\n position=\"top-right\"\r\n autoClose={5000}\r\n hideProgressBar={false}\r\n closeOnClick\r\n rtl={false}\r\n pauseOnFocusLoss\r\n draggable\r\n pauseOnHover\r\n />\r\n);\r\n\r\nexport default ToastWrapper;\r\n"],"names":["closeIcon","useState","useRef","toast","locationIcon","useEffect","ToastContainer"],"mappings":"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","x_google_ignoreList":[2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestiq-component-library",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,20 @@ export interface PopupProps {
19
19
 
20
20
  export default function PropertyDetailsHeader(props: PopupProps) {
21
21
  const [showPopUp, setShowPopUp] = useState(false);
22
+ const area = props.property?.propertyArea;
22
23
 
24
+ function formatPropertyArea(area: number | string): string {
25
+ if (typeof area === "number" || typeof area === "string") {
26
+ return area.toString().replace(".", ",");
27
+ }
28
+ else{
29
+ return area;
30
+ console.log("Area is not a number or string");
31
+ }
32
+ }
33
+ const formattedArea = formatPropertyArea(area);
34
+ const output = `${Number(formattedArea.replace(".", ""))} m²`;
35
+
23
36
  const handlePopUp = () => {
24
37
  setShowPopUp(!showPopUp);
25
38
  };
@@ -69,8 +82,7 @@ export default function PropertyDetailsHeader(props: PopupProps) {
69
82
  )}
70
83
  {props && (
71
84
  <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
72
- {formatPrice(props.property.propertyArea)}
73
- <br />
85
+ {formattedArea} <br />
74
86
  Grundstück
75
87
  {/* <FormattedMessage id="Grundstück" /> */}
76
88
  </div>