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.
- package/dist/components/ImageListPopup/ImageListPopup.d.ts +4 -11
- package/dist/components/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +1 -1
- package/dist/components/PropertyImageList/PropertyImageList.d.ts +4 -11
- package/dist/index.es.js +40 -71
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +39 -70
- package/dist/index.js.map +1 -1
- package/package.json +3 -7
- package/rollup.config.mjs +35 -40
- package/src/components/ImageListPopup/ImageListPopup.css +107 -107
- package/src/components/ImageListPopup/ImageListPopup.tsx +141 -212
- package/src/components/Popup/Popup.tsx +28 -28
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +83 -82
- package/src/components/PropertyImageList/PropertyImageList.tsx +11 -46
- package/tsconfig.json +2 -0
- package/dist/assets/images/heartIcon.svg +0 -3
- package/dist/assets/images/icon-close-white.webp +0 -0
- package/dist/assets/images/no-image-icon.png +0 -0
- package/dist/components/Button/Button.js +0 -6
- package/dist/components/ImageListPopup/ImageListPopup.js +0 -26
- package/dist/components/Popup/Popup.js +0 -12
- package/nestiq-component-library-1.0.22.tgz +0 -0
- /package/dist/assets/images/{Icon_rightArrow.svg → Icon_rightArrow.bced4a705c07148d.svg} +0 -0
- /package/dist/assets/images/{LayersIcon.svg → LayersIcon.34c085c352a2c9c8.svg} +0 -0
- /package/dist/assets/images/{blackarrow-Right.svg → blackarrow-Right.e585ae62dd55abae.svg} +0 -0
- /package/dist/assets/images/{blckarrow-Left.svg → blckarrow-Left.e2134741aa368d30.svg} +0 -0
- /package/dist/assets/images/{chevron-left.svg → chevron-left.04f0a7f16b745c1a.svg} +0 -0
- /package/dist/assets/images/{default-property.jpg → default-property.9987f19670be82b6.jpg} +0 -0
- /package/dist/assets/images/{icon_close_2.png → icon_close_2.e41bb9a4db48e048.png} +0 -0
- /package/dist/assets/images/{icon_gallery.svg → icon_gallery.269b721daf2ca907.svg} +0 -0
- /package/dist/assets/images/{icon_map.svg → icon_map.2318ec664c3e615e.svg} +0 -0
- /package/dist/assets/images/{icon_share_1.svg → icon_share_1.b9ec05630dc1087e.svg} +0 -0
- /package/dist/assets/images/{layer_icon.svg → layer_icon.9b56c187199c44b5.svg} +0 -0
- /package/dist/assets/images/{locationIcon.svg → locationIcon.0af399c78e0cdc20.svg} +0 -0
- /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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 {};
|
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
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
|
|
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,
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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 {\
|
|
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
|
-
|
|
115
|
-
var
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
-
|
|
165
|
+
imageListRef.current.scrollTo({
|
|
184
166
|
left: index * 150,
|
|
185
167
|
behavior: "smooth",
|
|
186
168
|
});
|
|
187
169
|
}, role: "button" },
|
|
188
|
-
React.createElement("img", { src:
|
|
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
|
|
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 (
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
217
|
+
imageListRef.current.scrollTo({
|
|
249
218
|
left: index * 150,
|
|
250
219
|
behavior: "smooth",
|
|
251
220
|
});
|
|
252
221
|
}, role: "button" },
|
|
253
|
-
React.createElement("img", { src:
|
|
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 &&
|
|
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;
|
package/dist/index.es.js.map
CHANGED
|
@@ -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]}
|