nestiq-component-library 1.1.10 → 1.1.11

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.
@@ -1 +1,2 @@
1
1
  export declare function formatPrice(number: number): string;
2
+ export declare function formatPropertyArea(area: number | string): string;
package/dist/index.es.js CHANGED
@@ -118,24 +118,22 @@ function SharePopup() {
118
118
  function formatPrice(number) {
119
119
  return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
120
120
  }
121
+ function formatPropertyArea(area) {
122
+ if (typeof area === "number" || typeof area === "string") {
123
+ return area
124
+ .toString()
125
+ .replace(".", ",")
126
+ .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
127
+ }
128
+ else {
129
+ return area;
130
+ }
131
+ }
121
132
 
122
133
  function PropertyDetailsHeader(props) {
123
- var _a, _b, _c, _d;
124
- var _e = useState(false), showPopUp = _e[0], setShowPopUp = _e[1];
134
+ var _a, _b, _c, _d, _e;
135
+ var _f = useState(false), showPopUp = _f[0], setShowPopUp = _f[1];
125
136
  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
129
- .toString()
130
- .replace(".", ",")
131
- .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
132
- }
133
- else {
134
- return area;
135
- }
136
- }
137
- var formattedArea = formatPropertyArea(area);
138
- "".concat(Number(formattedArea.replace(".", "")), " m\u00B2");
139
137
  var handlePopUp = function () {
140
138
  setShowPopUp(!showPopUp);
141
139
  };
@@ -150,10 +148,10 @@ function PropertyDetailsHeader(props) {
150
148
  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" },
151
149
  props && (React.createElement("div", { className: " propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center " },
152
150
  formatPrice((_d = (_c = props.property) === null || _c === void 0 ? void 0 : _c.askingPrice) !== null && _d !== void 0 ? _d : 0),
151
+ " \u20AC",
153
152
  React.createElement("br", null),
154
153
  "Kaufpreis")),
155
- props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
156
- props.property.constructedArea,
154
+ props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" }, (_e = props.property.constructedArea) !== null && _e !== void 0 ? _e : 0,
157
155
  " m\u00B2 ",
158
156
  React.createElement("br", null),
159
157
  "Wohnfl\u00E4che")),
@@ -163,8 +161,8 @@ function PropertyDetailsHeader(props) {
163
161
  React.createElement("br", null),
164
162
  "Zimmer")),
165
163
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
166
- formattedArea,
167
- " ",
164
+ formatPropertyArea(area !== null && area !== void 0 ? area : 0),
165
+ " m\u00B2 ",
168
166
  React.createElement("br", null),
169
167
  "Grundst\u00FCck"))),
170
168
  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 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\r\n .toString()\r\n .replace(\".\", \",\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\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 numericArea = Number(formattedArea); \r\n\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]}
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\nexport function formatPropertyArea(area: number | string): string {\r\n if (typeof area === \"number\" || typeof area === \"string\") {\r\n return area\r\n .toString()\r\n .replace(\".\", \",\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n } else {\r\n return area;\r\n console.log(\"Area is not a number or string\");\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, formatPropertyArea } 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 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 ?? 0} 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 {formatPropertyArea(area ?? 0)} m² <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
@@ -120,24 +120,22 @@ function SharePopup() {
120
120
  function formatPrice(number) {
121
121
  return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
122
122
  }
123
+ function formatPropertyArea(area) {
124
+ if (typeof area === "number" || typeof area === "string") {
125
+ return area
126
+ .toString()
127
+ .replace(".", ",")
128
+ .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
129
+ }
130
+ else {
131
+ return area;
132
+ }
133
+ }
123
134
 
124
135
  function PropertyDetailsHeader(props) {
125
- var _a, _b, _c, _d;
126
- var _e = React.useState(false), showPopUp = _e[0], setShowPopUp = _e[1];
136
+ var _a, _b, _c, _d, _e;
137
+ var _f = React.useState(false), showPopUp = _f[0], setShowPopUp = _f[1];
127
138
  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
131
- .toString()
132
- .replace(".", ",")
133
- .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
134
- }
135
- else {
136
- return area;
137
- }
138
- }
139
- var formattedArea = formatPropertyArea(area);
140
- "".concat(Number(formattedArea.replace(".", "")), " m\u00B2");
141
139
  var handlePopUp = function () {
142
140
  setShowPopUp(!showPopUp);
143
141
  };
@@ -152,10 +150,10 @@ function PropertyDetailsHeader(props) {
152
150
  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" },
153
151
  props && (React.createElement("div", { className: " propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center " },
154
152
  formatPrice((_d = (_c = props.property) === null || _c === void 0 ? void 0 : _c.askingPrice) !== null && _d !== void 0 ? _d : 0),
153
+ " \u20AC",
155
154
  React.createElement("br", null),
156
155
  "Kaufpreis")),
157
- props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
158
- props.property.constructedArea,
156
+ props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" }, (_e = props.property.constructedArea) !== null && _e !== void 0 ? _e : 0,
159
157
  " m\u00B2 ",
160
158
  React.createElement("br", null),
161
159
  "Wohnfl\u00E4che")),
@@ -165,8 +163,8 @@ function PropertyDetailsHeader(props) {
165
163
  React.createElement("br", null),
166
164
  "Zimmer")),
167
165
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
168
- formattedArea,
169
- " ",
166
+ formatPropertyArea(area !== null && area !== void 0 ? area : 0),
167
+ " m\u00B2 ",
170
168
  React.createElement("br", null),
171
169
  "Grundst\u00FCck"))),
172
170
  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 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\r\n .toString()\r\n .replace(\".\", \",\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\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 numericArea = Number(formattedArea); \r\n\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]}
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\nexport function formatPropertyArea(area: number | string): string {\r\n if (typeof area === \"number\" || typeof area === \"string\") {\r\n return area\r\n .toString()\r\n .replace(\".\", \",\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n } else {\r\n return area;\r\n console.log(\"Area is not a number or string\");\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, formatPropertyArea } 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 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 ?? 0} 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 {formatPropertyArea(area ?? 0)} m² <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.10",
3
+ "version": "1.1.11",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "main": "dist/index.js",
@@ -4,7 +4,7 @@ import ShareIcon from "../../assets/images/icon_share_1.svg";
4
4
  import locationIcon from "../../assets/images/locationIconBlack.svg";
5
5
  import "./PropertyDetailsHeader.css";
6
6
  import SharePopup from "../SharePopup/SharePopup";
7
- import { formatPrice } from "../../functions/util";
7
+ import { formatPrice, formatPropertyArea } from "../../functions/util";
8
8
 
9
9
  export interface PopupProps {
10
10
  property: {
@@ -20,23 +20,7 @@ export interface PopupProps {
20
20
  export default function PropertyDetailsHeader(props: PopupProps) {
21
21
  const [showPopUp, setShowPopUp] = useState(false);
22
22
  const area = props.property?.propertyArea;
23
-
24
- function formatPropertyArea(area: number | string): string {
25
- if (typeof area === "number" || typeof area === "string") {
26
- return area
27
- .toString()
28
- .replace(".", ",")
29
- .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
30
- } else {
31
- return area;
32
- console.log("Area is not a number or string");
33
- }
34
- }
35
- const formattedArea = formatPropertyArea(area);
36
- const numericArea = Number(formattedArea);
37
-
38
- const output = `${Number(formattedArea.replace(".", ""))} m²`;
39
-
23
+
40
24
  const handlePopUp = () => {
41
25
  setShowPopUp(!showPopUp);
42
26
  };
@@ -65,14 +49,14 @@ export default function PropertyDetailsHeader(props: PopupProps) {
65
49
  <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">
66
50
  {props && (
67
51
  <div className=" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center ">
68
- {formatPrice(props.property?.askingPrice ?? 0)}
52
+ {formatPrice(props.property?.askingPrice ?? 0)}
69
53
  <br />
70
54
  Kaufpreis
71
55
  </div>
72
56
  )}
73
57
  {props && (
74
58
  <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
75
- {props.property.constructedArea} m² <br />
59
+ {props.property.constructedArea ?? 0} m² <br />
76
60
  Wohnfläche
77
61
  {/* <FormattedMessage id="LIVING_SPACE" /> */}
78
62
  </div>
@@ -86,7 +70,7 @@ export default function PropertyDetailsHeader(props: PopupProps) {
86
70
  )}
87
71
  {props && (
88
72
  <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
89
- {formattedArea} <br />
73
+ {formatPropertyArea(area ?? 0)} <br />
90
74
  Grundstück
91
75
  {/* <FormattedMessage id="Grundstück" /> */}
92
76
  </div>
@@ -1,3 +1,14 @@
1
1
  export function formatPrice(number: number): string {
2
2
  return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
3
3
  }
4
+ export function formatPropertyArea(area: number | string): string {
5
+ if (typeof area === "number" || typeof area === "string") {
6
+ return area
7
+ .toString()
8
+ .replace(".", ",")
9
+ .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
10
+ } else {
11
+ return area;
12
+ console.log("Area is not a number or string");
13
+ }
14
+ }