nestiq-component-library 1.0.24 → 1.0.26

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.
Files changed (35) hide show
  1. package/dist/components/ImageListPopup/ImageListPopup.d.ts +4 -11
  2. package/dist/components/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +1 -1
  3. package/dist/components/PropertyImageList/PropertyImageList.d.ts +4 -11
  4. package/dist/index.es.js +40 -71
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/index.js +39 -70
  7. package/dist/index.js.map +1 -1
  8. package/package.json +3 -7
  9. package/rollup.config.mjs +35 -40
  10. package/src/components/ImageListPopup/ImageListPopup.css +107 -107
  11. package/src/components/ImageListPopup/ImageListPopup.tsx +141 -212
  12. package/src/components/Popup/Popup.tsx +28 -28
  13. package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +83 -82
  14. package/src/components/PropertyImageList/PropertyImageList.tsx +11 -46
  15. package/tsconfig.json +2 -0
  16. package/dist/assets/images/heartIcon.svg +0 -3
  17. package/dist/assets/images/icon-close-white.webp +0 -0
  18. package/dist/assets/images/no-image-icon.png +0 -0
  19. package/dist/components/Button/Button.js +0 -6
  20. package/dist/components/ImageListPopup/ImageListPopup.js +0 -26
  21. package/dist/components/Popup/Popup.js +0 -12
  22. package/nestiq-component-library-1.0.22.tgz +0 -0
  23. /package/dist/assets/images/{Icon_rightArrow.svg → Icon_rightArrow.bced4a705c07148d.svg} +0 -0
  24. /package/dist/assets/images/{LayersIcon.svg → LayersIcon.34c085c352a2c9c8.svg} +0 -0
  25. /package/dist/assets/images/{blackarrow-Right.svg → blackarrow-Right.e585ae62dd55abae.svg} +0 -0
  26. /package/dist/assets/images/{blckarrow-Left.svg → blckarrow-Left.e2134741aa368d30.svg} +0 -0
  27. /package/dist/assets/images/{chevron-left.svg → chevron-left.04f0a7f16b745c1a.svg} +0 -0
  28. /package/dist/assets/images/{default-property.jpg → default-property.9987f19670be82b6.jpg} +0 -0
  29. /package/dist/assets/images/{icon_close_2.png → icon_close_2.e41bb9a4db48e048.png} +0 -0
  30. /package/dist/assets/images/{icon_gallery.svg → icon_gallery.269b721daf2ca907.svg} +0 -0
  31. /package/dist/assets/images/{icon_map.svg → icon_map.2318ec664c3e615e.svg} +0 -0
  32. /package/dist/assets/images/{icon_share_1.svg → icon_share_1.b9ec05630dc1087e.svg} +0 -0
  33. /package/dist/assets/images/{layer_icon.svg → layer_icon.9b56c187199c44b5.svg} +0 -0
  34. /package/dist/assets/images/{locationIcon.svg → locationIcon.0af399c78e0cdc20.svg} +0 -0
  35. /package/dist/assets/images/{locationIconBlack.svg → locationIconBlack.eb8e9e9226b43573.svg} +0 -0
@@ -1,17 +1,10 @@
1
1
  import "./ImageListPopup.css";
2
2
  import React from "react";
3
3
  interface PopupProps {
4
- property: {
5
- city: string;
6
- constructedArea: string;
7
- rooms: string;
8
- propertyArea: string;
9
- askingPrice: string;
10
- };
11
- handleArrowClickInMainImage: any;
12
- pictureUrls: any[];
13
- currentImageIndex: number;
14
- imageListRef: any;
4
+ pictureUrls: {
5
+ title: string;
6
+ url: string;
7
+ }[];
15
8
  }
16
9
  export default function ImageListPopup(props: PopupProps): React.JSX.Element;
17
10
  export {};
@@ -8,6 +8,6 @@ export interface PopupProps {
8
8
  propertyArea: string;
9
9
  askingPrice: string;
10
10
  };
11
- showPopUp: boolean;
11
+ title: string;
12
12
  }
13
13
  export default function PropertyDetailsHeader(props: PopupProps): React.JSX.Element;
@@ -2,17 +2,10 @@ import React from "react";
2
2
  import "./PropertyImageList.css";
3
3
  import PopupProps from "../ImageListPopup/ImageListPopup";
4
4
  interface PopupProps {
5
- property: {
6
- city: string;
7
- constructedArea: string;
8
- rooms: string;
9
- propertyArea: string;
10
- askingPrice: string;
11
- };
12
- pictureUrls: any[];
13
- currentImageIndex: number;
14
- imageListRef: any;
15
- isImagePopupOpen: boolean;
5
+ pictureUrls: {
6
+ title: string;
7
+ url: string;
8
+ }[];
16
9
  }
17
10
  export default function PropertyImageList(prop: PopupProps): React.JSX.Element;
18
11
  export {};
package/dist/index.es.js CHANGED
@@ -1,11 +1,11 @@
1
- import React, { useState, useRef, useEffect } from 'react';
1
+ import React, { useState, useRef } from 'react';
2
2
 
3
3
  var Button = function (_a) {
4
4
  var label = _a.label;
5
5
  return React.createElement("button", null, label);
6
6
  };
7
7
 
8
- var iconClose = "icon_close_2.png";
8
+ var iconClose = "/static/media/icon_close_2.e41bb9a4db48e048.png";
9
9
 
10
10
  function styleInject(css, ref) {
11
11
  if ( ref === void 0 ) ref = {};
@@ -46,26 +46,27 @@ var Popup = function (_a) {
46
46
  children)));
47
47
  };
48
48
 
49
- var ShareIcon = "icon_share_1.svg";
49
+ var ShareIcon = "/static/media/icon_share_1.b9ec05630dc1087e.svg";
50
50
 
51
- var locationIcon$1 = "locationIconBlack.svg";
51
+ var locationIcon$1 = "/static/media/locationIconBlack.eb8e9e9226b43573.svg";
52
52
 
53
53
  var css_248z$3 = ".compact {\r\n height: 194px;\r\n border-radius: 32px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.header_Text {\r\n margin-top: 140px;\r\n font-size: 32px;\r\n line-height: normal;\r\n color: #1b1b1b;\r\n}\r\n\r\n.vector svg {\r\n width: 16px;\r\n height: 21.5px;\r\n flex-grow: 0;\r\n margin: 4.2px 10px 4.2px 0;\r\n fill: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.propText {\r\n height: 30px;\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #344041;\r\n}\r\n\r\n.v_share {\r\n cursor: pointer;\r\n}\r\n\r\n.fetch_section {\r\n margin-top: 90px;\r\n height: 60px;\r\n}\r\n@media (min-width: 800px) {\r\n .Pheader {\r\n max-width: 1750px;\r\n margin: 0 auto;\r\n \r\n }\r\n}\r\n";
54
54
  styleInject(css_248z$3);
55
55
 
56
56
  function PropertyDetailsHeader(props) {
57
- var _a = useState(false), showPopUp = _a[0], setShowPopUp = _a[1];
57
+ var _a;
58
+ var _b = useState(false), showPopUp = _b[0], setShowPopUp = _b[1];
58
59
  var handlePopUp = function () {
59
60
  setShowPopUp(!showPopUp);
60
61
  };
61
62
  return (React.createElement("div", { className: "Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 " },
62
63
  React.createElement("div", { className: "header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 " },
63
- React.createElement("strong", null, "Einziehen ohne einen Pinselstrich - Kernsaniertes Einfamilienhaus in top Lage")),
64
+ React.createElement("strong", null, (_a = props.title) !== null && _a !== void 0 ? _a : "-")),
64
65
  React.createElement("div", { className: "header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4" },
65
- React.createElement("img", { src: locationIcon$1, className: "vector me-2" }),
66
+ React.createElement("img", { src: locationIcon$1, className: "vector me-2", alt: "location Icon" }),
66
67
  React.createElement("div", { className: "propText text-truncate col-lg-6 col-md-6 d-flex align-items-center" }, props.property.city)),
67
68
  React.createElement("div", { className: "d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4" },
68
- React.createElement("img", { src: ShareIcon, className: "v_share me-3", onClick: handlePopUp })),
69
+ React.createElement("img", { src: ShareIcon, alt: "share icon", className: "v_share me-3", onClick: handlePopUp })),
69
70
  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" },
70
71
  props && (React.createElement("div", { className: " propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center " },
71
72
  props.property.askingPrice,
@@ -76,12 +77,12 @@ function PropertyDetailsHeader(props) {
76
77
  props.property.constructedArea,
77
78
  " m\u00B2 ",
78
79
  React.createElement("br", null),
79
- "constructedArea")),
80
+ "Wohnfl\u00E4che")),
80
81
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
81
82
  props.property.rooms,
82
83
  " ",
83
84
  React.createElement("br", null),
84
- "rooms")),
85
+ "Zimmer")),
85
86
  props && (React.createElement("div", { className: "propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center" },
86
87
  props.property.propertyArea,
87
88
  " m\u00B2",
@@ -89,50 +90,32 @@ function PropertyDetailsHeader(props) {
89
90
  "Grundst\u00FCck")))));
90
91
  }
91
92
 
92
- var iconArrowRight = "Icon_rightArrow.svg";
93
+ var iconArrowRight = "/static/media/Icon_rightArrow.bced4a705c07148d.svg";
93
94
 
94
- var blcIconArrowRight = "blackarrow-Right.svg";
95
+ var blcIconArrowRight = "/static/media/blackarrow-Right.e585ae62dd55abae.svg";
95
96
 
96
- var blcIconArrowLeft = "blckarrow-Left.svg";
97
+ var blcIconArrowLeft = "/static/media/blckarrow-Left.e2134741aa368d30.svg";
97
98
 
98
- var iconArrowLeft = "chevron-left.svg";
99
+ var iconArrowLeft = "/static/media/chevron-left.04f0a7f16b745c1a.svg";
99
100
 
100
- var iconGallery = "icon_gallery.svg";
101
+ var iconGallery = "/static/media/icon_gallery.269b721daf2ca907.svg";
101
102
 
102
- var iconMap = "icon_map.svg";
103
+ var iconMap = "/static/media/icon_map.2318ec664c3e615e.svg";
103
104
 
104
- var iconLayers = "layer_icon.svg";
105
+ var iconLayers = "/static/media/layer_icon.9b56c187199c44b5.svg";
105
106
 
106
107
  var css_248z$2 = ".mainImage {\r\n\theight: 80%;\r\n\t\r\n}\r\n\r\n.secondList {\r\n\theight: 20%;\r\n\t\t\r\n\r\n}\r\n\r\n.listImageButton {\r\n\tbackground-color: black;\r\n\talign-items: center !important;\r\n\tjustify-content: center !important;\r\n}\r\n\r\n.listImgText {\r\n\theight: 30px;\r\n\tfont-size: 14px;\r\n\tline-height: 2.14;\r\n\tcolor: #fff;\r\n}\r\n\r\n.arroIconColour {\r\n\theight: 30px;\r\n\tfill: #fff !important;\r\n}\r\n\r\n.onImageArrow {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tpadding: 23px 8px;\r\n\tbackground-color: rgba(255, 255, 255, 0.8);\r\n}\r\n\r\n.blackArrow {\r\n\twidth: 20px;\r\n\theight: 20px;\r\n}\r\n\r\n.imagesArray {\r\n\tbackground-size: 'cover' !important;\r\n}\r\n@media (min-width: 800px) {\r\n .Pimagelist {\r\n max-width: 1800px;\r\n \r\n \r\n }\r\n}\r\n\r\n\r\n\r\n\r\n";
107
108
  styleInject(css_248z$2);
108
109
 
109
- var css_248z$1 = ".popup-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 10000;\r\n}\r\n\r\n.popup-container {\r\n background-color: transparent;\r\n border-radius: 8px;\r\n max-width: 90%;\r\n max-height: 90%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n position: relative;\r\n}\r\n\r\n.popup-header {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n padding: 1rem;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.popup-title {\r\n color: white;\r\n font-size: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.btn-close {\r\n position: absolute;\r\n right: 1rem;\r\n top: 1rem;\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 24px;\r\n cursor: pointer;\r\n}\r\n\r\n.popup-body {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n position: relative;\r\n flex: 1;\r\n}\r\n\r\n.main-image {\r\n max-width: 100%;\r\n max-height: 80vh;\r\n border-radius: 8px;\r\n}\r\n\r\n.btn-prev,\r\n.btn-next {\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 48px;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.btn-prev {\r\n left: 10px;\r\n}\r\n\r\n.btn-next {\r\n right: 10px;\r\n}\r\n\r\n.popup-thumbnails {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 1rem;\r\n}\r\n\r\n.thumbnail {\r\n width: 60px;\r\n height: 60px;\r\n object-fit: cover;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n opacity: 0.6;\r\n}\r\n\r\n.thumbnail.active {\r\n border: 2px solid white;\r\n opacity: 1;\r\n}\r\n";
110
+ var css_248z$1 = ".popup-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.7);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n}\n\n.popup-container {\n background-color: transparent;\n border-radius: 8px;\n max-width: 90%;\n max-height: 90%;\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n}\n\n.popup-header {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n padding: 1rem;\n position: absolute;\n top: 0;\n}\n\n.popup-title {\n color: white;\n font-size: 24px;\n font-weight: bold;\n}\n\n.btn-close {\n position: absolute;\n right: 1rem;\n top: 1rem;\n background: none;\n border: none;\n color: white;\n font-size: 24px;\n cursor: pointer;\n}\n\n.popup-body {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 1rem;\n position: relative;\n flex: 1;\n}\n\n.main-image {\n max-width: 100%;\n max-height: 80vh;\n border-radius: 8px;\n}\n\n.btn-prev,\n.btn-next {\n background: none;\n border: none;\n color: white;\n font-size: 48px;\n cursor: pointer;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.btn-prev {\n left: 10px;\n}\n\n.btn-next {\n right: 10px;\n}\n\n.popup-thumbnails {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n padding: 1rem;\n}\n\n.thumbnail {\n width: 60px;\n height: 60px;\n object-fit: cover;\n border-radius: 8px;\n cursor: pointer;\n opacity: 0.6;\n}\n\n.thumbnail.active {\n border: 2px solid white;\n opacity: 1;\n}\n";
110
111
  styleInject(css_248z$1);
111
112
 
112
113
  function ImageListPopup(props) {
113
114
  var _a = useState(true), showPopUp = _a[0], setShowPopUp = _a[1];
114
- // const { id } = useParams();
115
- var _b = useState(null); _b[0]; var setMainImage = _b[1];
116
- var _c = useState(0), currentImageIndex = _c[0], setCurrentImageIndex = _c[1];
117
- // const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);
118
- useRef(null);
119
- // const baseUrl = "https://api-dev.nestiq.de";
120
- // const pictureUrls = props.property.pictures.map(
121
- // (picture) => `${baseUrl}${picture.contentUrl}`
122
- // );
123
- props.pictureUrls.map(function (pic) {
124
- return {
125
- src: pic,
126
- title: "Not Specified",
127
- };
128
- });
129
- useEffect(function () {
130
- if (props.pictureUrls.length > 0) {
131
- setMainImage(props.pictureUrls[0]);
132
- }
133
- }, [props.pictureUrls]);
115
+ var _b = useState(0), currentImageIndex = _b[0], setCurrentImageIndex = _b[1];
116
+ var imageListRef = useRef(null);
134
117
  var handleArrowClickInMainImage = function (direction) {
135
- if (!props.property || props.pictureUrls.length === 0)
118
+ if (props.pictureUrls.length === 0)
136
119
  return;
137
120
  var newIndex = currentImageIndex;
138
121
  if (direction === "left") {
@@ -144,8 +127,7 @@ function ImageListPopup(props) {
144
127
  newIndex = (currentImageIndex + 1) % props.pictureUrls.length;
145
128
  }
146
129
  setCurrentImageIndex(newIndex);
147
- setMainImage(props.pictureUrls[newIndex]);
148
- props.imageListRef.current.scrollTo({
130
+ imageListRef.current.scrollTo({
149
131
  left: newIndex * 150,
150
132
  behavior: "smooth",
151
133
  });
@@ -155,15 +137,16 @@ function ImageListPopup(props) {
155
137
  };
156
138
  return (React.createElement("div", null, showPopUp && (React.createElement("div", { className: "popup-overlay" },
157
139
  React.createElement("div", { className: " d-flex flex-column col-6 " },
140
+ React.createElement("span", { className: "txt-white" }, props.pictureUrls[currentImageIndex].title),
158
141
  React.createElement("div", { className: "d-flex align-self-end me-0 ms-5" },
159
- React.createElement("img", { src: iconClose, alt: "close", className: "closeIcon ", onClick: handleClose })),
142
+ React.createElement("img", { src: iconClose, alt: "close", className: "closeIcon", onClick: handleClose })),
160
143
  React.createElement("div", { className: "d-flex justify-content-center" },
161
144
  React.createElement("div", { className: "p-2 bd-highlight align-self-center align-items-center me-5" },
162
145
  React.createElement("div", { className: "rounded-circle border onImageArrow start-0 d-flex ", role: "button", onClick: function () { return handleArrowClickInMainImage("left"); } },
163
146
  React.createElement("img", { src: blcIconArrowLeft, className: "blackArrow align-self-center", alt: "Left Arrow" }))),
164
147
  React.createElement("div", { className: "p-2 bd-highlight" },
165
148
  React.createElement("div", { className: " rounded-5 mainImage ", style: {
166
- backgroundImage: "url(".concat(props.pictureUrls[currentImageIndex], ")"),
149
+ backgroundImage: "url(".concat(props.pictureUrls[currentImageIndex].url, ")"),
167
150
  height: "350px",
168
151
  width: "600px",
169
152
  backgroundSize: "cover",
@@ -177,35 +160,23 @@ function ImageListPopup(props) {
177
160
  React.createElement("div", { className: "d-flex flex-row gap-4 w-100 secondList " },
178
161
  React.createElement("div", { className: "col-lg-12 d-flex flex-row p-1 align-self-center mt-5" },
179
162
  React.createElement("div", { className: "col-12 position-relative d-flex justify-content-center" },
180
- React.createElement("div", { className: "col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto ", ref: props.imageListRef }, props.property && (React.createElement("div", { className: "col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3" }, props.pictureUrls.map(function (imageUrl, index) { return (React.createElement("div", { key: index, className: "col-lg-12 h-100 d-flex", onClick: function () {
181
- setMainImage(imageUrl);
163
+ React.createElement("div", { className: "col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto ", ref: imageListRef }, props.pictureUrls.length > 0 && (React.createElement("div", { className: "col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3" }, props.pictureUrls.map(function (picture, index) { return (React.createElement("div", { key: index, className: "col-lg-12 h-100 d-flex", onClick: function () {
182
164
  setCurrentImageIndex(index);
183
- props.imageListRef.current.scrollTo({
165
+ imageListRef.current.scrollTo({
184
166
  left: index * 150,
185
167
  behavior: "smooth",
186
168
  });
187
169
  }, role: "button" },
188
- React.createElement("img", { src: imageUrl, alt: "Image ".concat(index + 1), className: "col-12 h-100 rounded-3 object-fit-cover" }))); }))))))))))));
170
+ React.createElement("img", { src: picture.url, alt: "Image ".concat(index + 1), className: "col-12 h-100 rounded-3 object-fit-cover" }))); }))))))))))));
189
171
  }
190
172
 
191
173
  function PropertyImageList(prop) {
192
- var _a = useState(null); _a[0]; var setMainImage = _a[1];
174
+ var _a;
193
175
  var _b = useState(0), currentImageIndex = _b[0], setCurrentImageIndex = _b[1];
194
176
  var _c = useState(false), isImagePopupOpen = _c[0], setIsImagePopupOpen = _c[1];
195
177
  var imageListRef = useRef(null);
196
- var _d = useState(false); _d[0]; _d[1];
197
- // const [pictureUrls, setPictureUrls] = useState([]);
198
- // const baseUrl = "https://api-dev.nestiq.de";
199
- // const pictureUrls = prop.property.pictures.map(
200
- // (picture) => `${baseUrl}${picture.contentUrl}`
201
- // );
202
- useEffect(function () {
203
- if (prop.pictureUrls.length > 0) {
204
- setMainImage(prop.pictureUrls[0]);
205
- }
206
- }, [prop.pictureUrls]);
207
178
  var handleArrowClickInMainImage = function (direction) {
208
- if (!prop.property || prop.pictureUrls.length === 0)
179
+ if (prop.pictureUrls.length === 0)
209
180
  return;
210
181
  var newIndex = currentImageIndex;
211
182
  if (direction === "left") {
@@ -217,8 +188,7 @@ function PropertyImageList(prop) {
217
188
  newIndex = (currentImageIndex + 1) % prop.pictureUrls.length;
218
189
  }
219
190
  setCurrentImageIndex(newIndex);
220
- setMainImage(prop.pictureUrls[newIndex]);
221
- prop.imageListRef.current.scrollTo({
191
+ imageListRef.current.scrollTo({
222
192
  left: newIndex * 150,
223
193
  behavior: "smooth",
224
194
  });
@@ -228,7 +198,7 @@ function PropertyImageList(prop) {
228
198
  };
229
199
  return (React.createElement("div", { className: "col-8 me-2 Pimagelist" },
230
200
  React.createElement("div", { className: "col-12 rounded-5 mainImage d-flex position-relative align-items-center", style: {
231
- backgroundImage: "url(".concat(prop.pictureUrls[currentImageIndex], ")"),
201
+ backgroundImage: "url(".concat((_a = prop.pictureUrls[currentImageIndex]) === null || _a === void 0 ? void 0 : _a.url, ")"),
232
202
  backgroundSize: "cover",
233
203
  backgroundPosition: "center",
234
204
  } },
@@ -242,15 +212,14 @@ function PropertyImageList(prop) {
242
212
  React.createElement("div", { className: "col-1 h-100 d-flex position-absolute start-0", onClick: function () { return handleArrowClickInMainImage("left"); }, role: "button" },
243
213
  React.createElement("div", { className: "col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
244
214
  React.createElement("img", { src: iconArrowLeft, className: "arroIconColour", alt: "Left Arrow" }))),
245
- React.createElement("div", { className: "col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1", ref: imageListRef }, prop.property && (React.createElement("div", { className: "col-lg-5 h-100 d-flex gap-2 flex-row rounded-3" }, prop.pictureUrls.map(function (imageUrl, index) { return (React.createElement("div", { key: index, className: "col-lg-12 h-100 d-flex", onClick: function () {
246
- setMainImage(imageUrl);
215
+ React.createElement("div", { className: "col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-auto ms-1", ref: imageListRef }, prop.pictureUrls.length > 0 && (React.createElement("div", { className: "col-lg-5 h-100 d-flex gap-2 flex-row rounded-3" }, prop.pictureUrls.map(function (picture, index) { return (React.createElement("div", { key: index, className: "col-lg-12 h-100 d-flex", onClick: function () {
247
216
  setCurrentImageIndex(index);
248
- prop.imageListRef.current.scrollTo({
217
+ imageListRef.current.scrollTo({
249
218
  left: index * 150,
250
219
  behavior: "smooth",
251
220
  });
252
221
  }, role: "button" },
253
- React.createElement("img", { src: imageUrl, alt: "Image ".concat(index + 1), className: "col-12 h-100 rounded-3 object-fit-cover" }))); })))),
222
+ React.createElement("img", { src: picture.url, alt: "Image ".concat(index + 1), className: "col-12 h-100 rounded-3 object-fit-cover" }))); })))),
254
223
  React.createElement("div", { className: "col-1 h-100 d-flex position-absolute end-0 top-0", onClick: function () { return handleArrowClickInMainImage("right"); }, role: "button" },
255
224
  React.createElement("div", { className: "col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3 ms-1" },
256
225
  React.createElement("img", { src: iconArrowRight, className: "arroIconColour", alt: "Right Arrow" }))))),
@@ -271,17 +240,17 @@ function PropertyImageList(prop) {
271
240
  React.createElement("div", { className: "border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
272
241
  React.createElement("img", { src: iconMap, alt: "Map Icon" }),
273
242
  React.createElement("span", { className: "listImgText" }, "Karte"))))),
274
- isImagePopupOpen && (React.createElement(ImageListPopup, { currentImageIndex: currentImageIndex, handleArrowClickInMainImage: handleArrowClickInMainImage, imageListRef: imageListRef, pictureUrls: prop.pictureUrls, property: prop.property }))));
243
+ isImagePopupOpen && React.createElement(ImageListPopup, { pictureUrls: prop.pictureUrls })));
275
244
  }
276
245
 
277
- var layerIcon = "LayersIcon.svg";
246
+ var layerIcon = "/static/media/LayersIcon.34c085c352a2c9c8.svg";
278
247
 
279
- var locationIcon = "locationIcon.svg";
248
+ var locationIcon = "/static/media/locationIcon.0af399c78e0cdc20.svg";
280
249
 
281
250
  var css_248z = ".padding-global {\r\n height: 737px !important;\r\n padding: 0 40px;\r\n}\r\n.header {\r\n font-size: 48px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.firstLabel {\r\n width: 100px;\r\n height: 25px;\r\n gap: 6px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #031012 !important;\r\n background-color: #ffb525;\r\n}\r\n\r\n.secondLabel {\r\n width: 85px;\r\n height: 25px;\r\n padding: 0 7px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n}\r\n\r\n.thirdLabel {\r\n width: 90px;\r\n height: 25px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n}\r\n\r\n.fourthLabel {\r\n width: 100px;\r\n height: 25px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n}\r\n\r\n.layersVector {\r\n width: 15.1px;\r\n height: 16px;\r\n}\r\n\r\n.layersText {\r\n font-size: 14px;\r\n color: #1b1b1b;\r\n}\r\n\r\n.style-img {\r\n object-fit: cover;\r\n border-radius: 30px !important;\r\n}\r\n\r\n.Vector {\r\n width: 12px;\r\n height: 16.1px;\r\n flex-grow: 0;\r\n margin: 0.4px 6px 0.4px 0;\r\n}\r\n\r\n.customButton {\r\n width: 262px;\r\n height: 43px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: #ffb525;\r\n background-color: #ffb525;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button_text {\r\n font-size: 16px;\r\n font-weight: 500;\r\n color: #1b1b1b;\r\n}\r\n\r\n.heartVector {\r\n width: 23px;\r\n height: 26.7px;\r\n cursor: pointer;\r\n}\r\n\r\n.heartVector.liked {\r\n fill: rgb(255, 255, 255) !important;\r\n}\r\n.locationText {\r\n font-size: 14px;\r\n color: white;\r\n text-align: center;\r\n}\r\n\r\n.arrowVector {\r\n width: 23px;\r\n height: 23px;\r\n flex-grow: 0;\r\n object-fit: contain;\r\n}\r\n\r\n.Price {\r\n font-size: 26px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #fff;\r\n}\r\n\r\n.detail {\r\n font-size: 12px;\r\n text-align: center;\r\n color: #fff;\r\n}\r\n\r\n.class {\r\n background-color: #1b1b1b;\r\n}\r\n\r\n.header {\r\n height: 64px;\r\n justify-content: center;\r\n}\r\n\r\n.cardStyle {\r\n width: 405px;\r\n max-width: 2405px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 350px;\r\n border-radius: 30px !important;\r\n}\r\n\r\n.rightConer {\r\n width: 200px;\r\n}\r\n@media all and (min-width: 2560px) {\r\n .header {\r\n font-size: 38px;\r\n\r\n display: flex;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n /* margin-left: 250px; */\r\n }\r\n}\r\n@media (max-width: 1399px) {\r\n .header {\r\n font-size: 38px;\r\n align-self: center;\r\n margin-left: 150px;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n }\r\n}\r\n\r\n@media (max-width: 1199px) {\r\n .header {\r\n font-size: 38px;\r\n }\r\n .cardStyle {\r\n width: 300px;\r\n height: 250px;\r\n }\r\n}\r\n\r\n@media (max-width: 575px) {\r\n .detail {\r\n font-size: 11px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 19px;\r\n }\r\n .header {\r\n font-size: 28px;\r\n }\r\n .locationText {\r\n font-size: 12px;\r\n }\r\n .customButton {\r\n width: 200px !important;\r\n }\r\n .button_text {\r\n font-size: 13px;\r\n }\r\n}\r\n\r\n@media (max-width: 375px) {\r\n .labelTopClass {\r\n width: 105px !important;\r\n }\r\n .layersText {\r\n font-size: 9px;\r\n }\r\n .firstLabel {\r\n gap: 2px;\r\n }\r\n .layersVector {\r\n width: 9px;\r\n height: 10px;\r\n gap: 0px;\r\n }\r\n .cardStyle {\r\n width: 320px !important;\r\n height: 220px !important;\r\n }\r\n .header {\r\n font-size: 24px;\r\n }\r\n .detail {\r\n font-size: 10px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 18px;\r\n }\r\n .locationText {\r\n font-size: 10px;\r\n }\r\n .Vector {\r\n width: 8px;\r\n height: 16px;\r\n margin: 0px 2px 0.4px;\r\n }\r\n}\r\n\r\n@media (max-width: 280px) {\r\n .cardStyle {\r\n width: 260px !important;\r\n height: 160px !important;\r\n }\r\n .detail {\r\n margin-bottom: 5px;\r\n font-size: 0.6ch;\r\n }\r\n .Price {\r\n font-size: 9px;\r\n }\r\n .locationText {\r\n font-size: 6px;\r\n }\r\n .Vector {\r\n width: 7px;\r\n height: 10px;\r\n margin: 0px 2px 4px;\r\n }\r\n .heartVector {\r\n width: 15px;\r\n height: 20px;\r\n }\r\n}\r\n";
282
251
  styleInject(css_248z);
283
252
 
284
- var noImageIcon = "default-property.jpg";
253
+ var noImageIcon = "/static/media/default-property.9987f19670be82b6.jpg";
285
254
 
286
255
  function PropertyCard(props) {
287
256
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg","../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/LayersIcon.svg","../src/assets/images/locationIcon.svg","../src/assets/Images/default-property.jpg"],"sourcesContent":["export default \"icon_close_2.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","export default \"icon_share_1.svg\"","export default \"locationIconBlack.svg\"","export default \"Icon_rightArrow.svg\"","export default \"blackarrow-Right.svg\"","export default \"blckarrow-Left.svg\"","export default \"chevron-left.svg\"","export default \"icon_gallery.svg\"","export default \"icon_map.svg\"","export default \"layer_icon.svg\"","export default \"LayersIcon.svg\"","export default \"locationIcon.svg\"","export default \"default-property.jpg\""],"names":[],"mappings":";;;;;;;AAAA,gBAAe;;ACAf,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;;;;;;;;;ACzBA,gBAAe;;ACAf,qBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,qBAAe;;ACAf,wBAAe;;ACAf,uBAAe;;ACAf,oBAAe;;ACAf,kBAAe;;ACAf,cAAe;;ACAf,iBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,gBAAe;;ACAf,mBAAe;;;;;ACAf,kBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[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/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/components/ImageListPopup/ImageListPopup.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"],"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\";\nimport closeIcon from \"../../assets/images/icon_close_2.png\";\nimport \"./Popup.css\";\n\ninterface PopupProps {\n children: React.ReactNode;\n onCloseClick: () => void;\n}\n\nconst Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {\n return (\n <div className=\"popup-overlay\">\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\">\n <div className=\"end-0 top-0 position-absolute \">\n <img\n src={closeIcon}\n alt=\"close\"\n className=\"closeIcon me-2\"\n onClick={onCloseClick}\n />\n </div>\n {children}\n </div>\n </div>\n );\n};\n\nexport default Popup;\n","export default \"/static/media/icon_share_1.b9ec05630dc1087e.svg\"","export default \"/static/media/locationIconBlack.eb8e9e9226b43573.svg\"","import React, { useState } from \"react\";\n// import { FormattedMessage } from \"react-intl\";\nimport ShareIcon from \"../../assets/images/icon_share_1.svg\";\nimport locationIcon from \"../../assets/images/locationIconBlack.svg\";\nimport \"./PropertyDetailsHeader.css\";\n\nexport interface PopupProps {\n property: {\n city: string;\n constructedArea: string;\n rooms: string;\n propertyArea: string;\n askingPrice: string;\n };\n title: string;\n}\n\nexport default function PropertyDetailsHeader(props: PopupProps) {\n const [showPopUp, setShowPopUp] = useState(false);\n\n const handlePopUp = () => {\n setShowPopUp(!showPopUp);\n };\n\n return (\n <div className=\"Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 \">\n <div className=\"header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 \">\n <strong>{props.title ?? \"-\"}</strong>\n </div>\n <div className=\"header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4\">\n <img src={locationIcon} className=\"vector me-2\" alt=\"location Icon\" />\n\n <div className=\"propText text-truncate col-lg-6 col-md-6 d-flex align-items-center\">\n {props.property.city}\n </div>\n </div>\n <div className=\"d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4\">\n {/* <img src={Hearticon} alt=\"Location Icon\" className=\"v_share me-3\" /> */}\n <img\n src={ShareIcon}\n alt=\"share icon\"\n className=\"v_share me-3\"\n onClick={handlePopUp}\n />\n </div>\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\">\n {props && (\n <div className=\" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center \">\n {props.property.askingPrice} <br />\n Kaufpreis\n </div>\n )}\n {props && (\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\n {props.property.constructedArea} m² <br />\n Wohnfläche\n {/* <FormattedMessage id=\"LIVING_SPACE\" /> */}\n </div>\n )}\n {props && (\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\n {props.property.rooms} <br />\n Zimmer\n {/* <FormattedMessage id=\"ROOMS\" /> */}\n </div>\n )}\n {props && (\n <div className=\"propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center\">\n {props.property.propertyArea} m²\n <br />\n Grundstück\n {/* <FormattedMessage id=\"Grundstück\" /> */}\n </div>\n )}\n </div>\n {/* {showPopUp && (\n <PopUp\n \n />\n )} */}\n </div>\n );\n}\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\"","import \"./ImageListPopup.css\";\nimport React, { useRef, useState } from \"react\";\nimport blcIconArrowRight from \"../../assets/Images/blackarrow-Right.svg\";\nimport blcIconArrowLeft from \"../../assets/Images/blckarrow-Left.svg\";\nimport iconClose from \"../../assets/images/icon_close_2.png\";\n\ninterface PopupProps {\n pictureUrls: { title: string; url: string }[];\n}\n\nexport default function ImageListPopup(props: PopupProps) {\n const [showPopUp, setShowPopUp] = useState(true);\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n const imageListRef = useRef<HTMLDivElement | null>(null);\n\n const handleArrowClickInMainImage = (direction: any) => {\n if (props.pictureUrls.length === 0) return;\n\n let newIndex = currentImageIndex;\n if (direction === \"left\") {\n newIndex =\n (currentImageIndex - 1 + props.pictureUrls.length) %\n props.pictureUrls.length;\n } else if (direction === \"right\") {\n newIndex = (currentImageIndex + 1) % props.pictureUrls.length;\n }\n\n setCurrentImageIndex(newIndex);\n\n imageListRef.current!.scrollTo({\n left: newIndex * 150,\n behavior: \"smooth\",\n });\n };\n\n const handleClose = () => {\n setShowPopUp(false);\n };\n\n return (\n <div>\n {showPopUp && (\n <div className=\"popup-overlay\">\n <div className=\" d-flex flex-column col-6 \">\n <span className=\"txt-white\">\n {props.pictureUrls[currentImageIndex].title}\n </span>\n <div className=\"d-flex align-self-end me-0 ms-5\">\n <img\n src={iconClose}\n alt=\"close\"\n className=\"closeIcon\"\n onClick={handleClose}\n />\n </div>\n\n <div className=\"d-flex justify-content-center\">\n <div className=\"p-2 bd-highlight align-self-center align-items-center me-5\">\n <div\n className=\"rounded-circle border onImageArrow start-0 d-flex \"\n role=\"button\"\n onClick={() => handleArrowClickInMainImage(\"left\")}\n >\n <img\n src={blcIconArrowLeft}\n className=\"blackArrow align-self-center\"\n alt=\"Left Arrow\"\n />\n </div>\n </div>\n <div className=\"p-2 bd-highlight\">\n <div\n className=\" rounded-5 mainImage \"\n style={{\n backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,\n height: \"350px\",\n width: \"600px\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }}\n ></div>\n </div>\n <div className=\"p-2 bd-highlight align-self-center ms-5\">\n {\" \"}\n <div\n role=\"button\"\n className=\"rounded-circle border onImageArrow d-flex justify-content-center\"\n onClick={() => handleArrowClickInMainImage(\"right\")}\n >\n <img\n src={blcIconArrowRight}\n className=\"blackArrow align-self-center\"\n alt=\"Right Arrow\"\n />\n </div>\n </div>\n </div>\n <div className=\"d-flex flex-row\">\n {/* Arrows on the main image */}\n </div>\n <div className=\"d-flex flex-row gap-4 w-100 secondList \">\n <div className=\"col-lg-12 d-flex flex-row p-1 align-self-center mt-5\">\n <div className=\"col-12 position-relative d-flex justify-content-center\">\n <div\n className=\"col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto \"\n ref={imageListRef}\n >\n {props.pictureUrls.length > 0 && (\n <div className=\"col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3\">\n {props.pictureUrls.map((picture, index) => (\n <div\n key={index}\n className=\"col-lg-12 h-100 d-flex\"\n onClick={() => {\n setCurrentImageIndex(index);\n imageListRef.current!.scrollTo({\n left: index * 150,\n behavior: \"smooth\",\n });\n }}\n role=\"button\"\n >\n <img\n src={picture.url}\n alt={`Image ${index + 1}`}\n className=\"col-12 h-100 rounded-3 object-fit-cover\"\n />\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\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\n\r\ninterface PopupProps {\r\n pictureUrls: { title: string; url: 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 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 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 className=\"col-lg-4 p-1\" role=\"button\">\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 </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\n// import { 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 askingPrice: string;\r\n };\r\n onClick: any;\r\n pictureUrl: any[];\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\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(${props.pictureUrl}) ?? ${noImageIcon}`,\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=\"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=\"thirdLabel d-flex flex-row justify-content-center align-items-center\">\r\n <span className=\"layersText\">{\"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 \">{\"Keller\"}</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 \">{\"Balkon\"}</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=\"thirdLabel d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"Terrace\"}</span>\r\n </label>\r\n )}\r\n\r\n {props.property.guestBathroom && (\r\n <label className=\"fourthLabel d-flex flex-row justify-content-center align-items-center \">\r\n <span className=\"layersText\">{\"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\">\r\n {props.property?.askingPrice ?? 0} €\r\n </span>\r\n </div>\r\n <div className=\"d-flex 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 \">{props.property.city || \"N/A\"}</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 <br></br>\r\n <span>Bäd</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"],"names":["closeIcon","locationIcon"],"mappings":"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","x_google_ignoreList":[2]}