nestiq-component-library 1.1.172 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +8 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +1670 -733
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -0
- package/package.json +27 -26
- package/dist/assets/images/Icon_rightArrow.bced4a705c07148d.svg +0 -3
- package/dist/assets/images/LayersIcon.34c085c352a2c9c8.svg +0 -5
- package/dist/assets/images/blackarrow-Right.e585ae62dd55abae.svg +0 -3
- package/dist/assets/images/blckarrow-Left.e2134741aa368d30.svg +0 -3
- package/dist/assets/images/card-arrow-left.55343410142dad3f.svg +0 -4
- package/dist/assets/images/card-arrow-right.60b3bf0e34c1800d.svg +0 -4
- package/dist/assets/images/chevron-left.04f0a7f16b745c1a.svg +0 -3
- package/dist/assets/images/close.b5ce9141e80c688b.png +0 -0
- package/dist/assets/images/default-property.9987f19670be82b6.jpg +0 -0
- package/dist/assets/images/envelope-fill.6669c9d64183941c.svg +0 -3
- package/dist/assets/images/facebook.ce73eacbfffe8a27.svg +0 -3
- package/dist/assets/images/icon_checkmark.9b48c4a4bc651b08.svg +0 -10
- package/dist/assets/images/icon_close_2.e41bb9a4db48e048.png +0 -0
- package/dist/assets/images/icon_gallery.269b721daf2ca907.svg +0 -4
- package/dist/assets/images/icon_map.2318ec664c3e615e.svg +0 -10
- package/dist/assets/images/icon_share_1.b9ec05630dc1087e.svg +0 -3
- package/dist/assets/images/imooly.b46514ac970e6052.svg +0 -7
- package/dist/assets/images/layer_icon.9b56c187199c44b5.svg +0 -5
- package/dist/assets/images/linkedin.7539333145b03678.svg +0 -3
- package/dist/assets/images/locationIcon.961de080757bda41.svg +0 -4
- package/dist/assets/images/locationIconBlack.eb8e9e9226b43573.svg +0 -4
- package/dist/assets/images/mail-icon.176f921aa16b9a3d.png +0 -0
- package/dist/assets/images/more.ce14789c8d37e327.svg +0 -12
- package/dist/assets/images/twitter-x.48a4ac3f560f0a62.svg +0 -3
- package/dist/assets/images/warning.6f99cb4c6a048b47.svg +0 -11
- package/dist/assets/images/whatsapp.28e6b0b24adc9289.svg +0 -3
- package/dist/components/Button/Button.d.ts +0 -6
- package/dist/components/ErrorPopup/ErrorPopup.d.ts +0 -7
- package/dist/components/FloorPlanPopup/FloorPlanPopup.d.ts +0 -7
- package/dist/components/ImageListPopup/ImageListPopup.d.ts +0 -12
- package/dist/components/MessagePopup/MessagePopUp.d.ts +0 -16
- package/dist/components/MessagePopup/SuccessPopup.d.ts +0 -7
- package/dist/components/NewPropertyCard/NewPropertyCard.d.ts +0 -55
- package/dist/components/Popup/Popup.d.ts +0 -9
- package/dist/components/PropertyCard/PropertyCard.d.ts +0 -27
- package/dist/components/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +0 -20
- package/dist/components/PropertyImageList/PropertyImageList.d.ts +0 -29
- package/dist/components/SharePopup/SharePopup.d.ts +0 -8
- package/dist/components/ToastWrapper/ToastWrapper.d.ts +0 -4
- package/dist/functions/util.d.ts +0 -2
- package/dist/index.d.ts +0 -15
- package/dist/index.es.js +0 -742
- package/dist/index.es.js.map +0 -1
- package/dist/models/message.model.d.ts +0 -7
- package/rollup.config.mjs +0 -36
- package/src/assets/images/Icon_rightArrow.svg +0 -3
- package/src/assets/images/LayersIcon.svg +0 -5
- package/src/assets/images/blackarrow-Right.svg +0 -3
- package/src/assets/images/blckarrow-Left.svg +0 -3
- package/src/assets/images/card-arrow-left.svg +0 -4
- package/src/assets/images/card-arrow-right.svg +0 -4
- package/src/assets/images/chevron-left.svg +0 -3
- package/src/assets/images/close.png +0 -0
- package/src/assets/images/default-property.jpg +0 -0
- package/src/assets/images/envelope-fill.svg +0 -3
- package/src/assets/images/facebook.svg +0 -3
- package/src/assets/images/heart.svg +0 -3
- package/src/assets/images/house.jpg +0 -0
- package/src/assets/images/icon_checkmark.svg +0 -10
- package/src/assets/images/icon_close 2.png +0 -0
- package/src/assets/images/icon_close_2.png +0 -0
- package/src/assets/images/icon_gallery.svg +0 -4
- package/src/assets/images/icon_home.svg +0 -3
- package/src/assets/images/icon_map.svg +0 -10
- package/src/assets/images/icon_share_1.svg +0 -3
- package/src/assets/images/imooly.svg +0 -7
- package/src/assets/images/layer_icon.svg +0 -5
- package/src/assets/images/linkedin.svg +0 -3
- package/src/assets/images/locationIcon.svg +0 -4
- package/src/assets/images/locationIconBlack.svg +0 -4
- package/src/assets/images/mail-icon.png +0 -0
- package/src/assets/images/more.svg +0 -12
- package/src/assets/images/twitter-x.svg +0 -3
- package/src/assets/images/warning.svg +0 -11
- package/src/assets/images/whatsapp.svg +0 -3
- package/src/components/Button/Button.tsx +0 -11
- package/src/components/ErrorPopup/ErrorPopup.tsx +0 -63
- package/src/components/ErrorPopup/PopUp.css +0 -409
- package/src/components/FloorPlanPopup/FloorPlanPopup.css +0 -3
- package/src/components/FloorPlanPopup/FloorPlanPopup.tsx +0 -83
- package/src/components/ImageListPopup/ImageListPopup.css +0 -113
- package/src/components/ImageListPopup/ImageListPopup.tsx +0 -154
- package/src/components/MessagePopup/MessagePopUp.css +0 -196
- package/src/components/MessagePopup/MessagePopUp.tsx +0 -160
- package/src/components/MessagePopup/PopUp.css +0 -408
- package/src/components/MessagePopup/SuccessPopup.tsx +0 -64
- package/src/components/NewPropertyCard/NewPropertyCard.css +0 -413
- package/src/components/NewPropertyCard/NewPropertyCard.tsx +0 -383
- package/src/components/Popup/Popup.css +0 -12
- package/src/components/Popup/Popup.tsx +0 -29
- package/src/components/PropertyCard/PropertyCard.css +0 -271
- package/src/components/PropertyCard/PropertyCard.tsx +0 -137
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.css +0 -94
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +0 -106
- package/src/components/PropertyImageList/PropertyImageList.css +0 -101
- package/src/components/PropertyImageList/PropertyImageList.tsx +0 -254
- package/src/components/SharePopup/SharePopup.css +0 -348
- package/src/components/SharePopup/SharePopup.tsx +0 -143
- package/src/components/ToastWrapper/ToastWrapper.tsx +0 -25
- package/src/functions/util.ts +0 -14
- package/src/index.tsx +0 -26
- package/src/models/message.model.ts +0 -7
- package/src/styles/common.css +0 -17
- package/src/types/images.d.ts +0 -25
- package/tsconfig.json +0 -22
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import React, { useRef, useState } from "react";
|
|
2
|
-
// import { FormattedMessage } from "react-intl";
|
|
3
|
-
import locationIcon from "../../assets/images/locationIcon.svg";
|
|
4
|
-
import "../NewPropertyCard/NewPropertyCard.css";
|
|
5
|
-
import noImageIcon from "../../assets/Images/default-property.jpg";
|
|
6
|
-
import { formatPrice } from "../../functions/util";
|
|
7
|
-
import shareIcon from "../../assets/Images/icon_share_1.svg";
|
|
8
|
-
import moreIcon from "../../assets/Images/more.svg";
|
|
9
|
-
import arrowLeft from "../../assets/Images/card-arrow-left.svg";
|
|
10
|
-
import arrowRight from "../../assets/Images/card-arrow-right.svg";
|
|
11
|
-
import iconLayers from "../../assets/Images/layer_icon.svg";
|
|
12
|
-
import FloorPlanPopup from "../FloorPlanPopup/FloorPlanPopup";
|
|
13
|
-
// import MessagePopUp from "../MessagePopup/MessagePopUp";
|
|
14
|
-
import SharePopup from "../SharePopup/SharePopup";
|
|
15
|
-
import { MessageModel } from "../../models/message.model";
|
|
16
|
-
import immooly from "../../assets/images/imooly.svg";
|
|
17
|
-
import ImageListPopup from "../ImageListPopup/ImageListPopup";
|
|
18
|
-
|
|
19
|
-
interface PopupProps {
|
|
20
|
-
property: {
|
|
21
|
-
city: string;
|
|
22
|
-
propertyArea: string;
|
|
23
|
-
historicalProtection: boolean;
|
|
24
|
-
basement: boolean;
|
|
25
|
-
balcony: boolean;
|
|
26
|
-
terrace: boolean;
|
|
27
|
-
guestBathroom: boolean;
|
|
28
|
-
bathrooms: string;
|
|
29
|
-
usableArea: string;
|
|
30
|
-
id: string;
|
|
31
|
-
rooms: string;
|
|
32
|
-
constructedArea: string;
|
|
33
|
-
title: string;
|
|
34
|
-
evaluation?: {
|
|
35
|
-
askingPrice: number;
|
|
36
|
-
};
|
|
37
|
-
expose: {
|
|
38
|
-
title: string;
|
|
39
|
-
};
|
|
40
|
-
pictures: { contentUrl: string; pictureType: { id: number } }[];
|
|
41
|
-
};
|
|
42
|
-
userData?: { firstname: string; lastname: string; company: string };
|
|
43
|
-
Impliment: any;
|
|
44
|
-
baseUrl: string;
|
|
45
|
-
themesList: any;
|
|
46
|
-
floorPlanUrl: string;
|
|
47
|
-
// onMessagePopupSubmitClick: (formValues: MessageModel) => void;
|
|
48
|
-
messageOnClick: () => void;
|
|
49
|
-
onclickSuccess: () => void;
|
|
50
|
-
onClick: () => void;
|
|
51
|
-
onFloorPlanClick: (images: { url: string; title: string }[]) => void;
|
|
52
|
-
translations?: {
|
|
53
|
-
kaufpreis?: string;
|
|
54
|
-
wohnflache?: string;
|
|
55
|
-
zimmer?: string;
|
|
56
|
-
grundriss?: string;
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
export default function PropertyCard(props: PopupProps) {
|
|
60
|
-
const [liked, setLiked] = useState(false);
|
|
61
|
-
const [mainImage, setMainImage] = useState<string | null>(null);
|
|
62
|
-
const [currentImageIndex, setCurrentImageIndex] = useState(0);
|
|
63
|
-
const imageListRef = useRef<HTMLDivElement>(null);
|
|
64
|
-
const [floorPlan, setFloorPlan] = useState(false);
|
|
65
|
-
const [messagePopUp, setMessagPopUp] = useState(false);
|
|
66
|
-
const [sharePopUp, setSharePopUp] = useState(false);
|
|
67
|
-
|
|
68
|
-
const [isImagePopupOpen, setIsImagePopupOpen] = useState(false);
|
|
69
|
-
|
|
70
|
-
const pictureUrls =
|
|
71
|
-
props.property?.pictures?.length > 0
|
|
72
|
-
? props.property.pictures
|
|
73
|
-
.filter((picture) => picture.pictureType.id === 2)
|
|
74
|
-
.map((picture) => `${props.baseUrl}${picture.contentUrl}`)
|
|
75
|
-
: [noImageIcon];
|
|
76
|
-
|
|
77
|
-
const floorPlanImages =
|
|
78
|
-
props.property.pictures
|
|
79
|
-
?.filter((p) => p.pictureType?.id === 1)
|
|
80
|
-
.map((p, index) => ({
|
|
81
|
-
url: props.baseUrl + p.contentUrl,
|
|
82
|
-
title: `Floor Plan ${index + 1}`,
|
|
83
|
-
})) || [];
|
|
84
|
-
|
|
85
|
-
// setPictureUrls(pictureUrls);
|
|
86
|
-
const handleLike = () => {
|
|
87
|
-
setLiked(!liked);
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const handleFloorPlanButton = () => {
|
|
91
|
-
setIsImagePopupOpen(true);
|
|
92
|
-
if (props.onFloorPlanClick) {
|
|
93
|
-
props.onFloorPlanClick(floorPlanImages);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
const handleMessagPopUp = () => {
|
|
98
|
-
// setMessagPopUp(true);
|
|
99
|
-
props.messageOnClick();
|
|
100
|
-
};
|
|
101
|
-
const handleSharePopUp = () => {
|
|
102
|
-
setSharePopUp(true);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
const handleArrowClickInMainImage = (direction: string) => {
|
|
106
|
-
if (!props.property || pictureUrls.length === 0) return;
|
|
107
|
-
|
|
108
|
-
let newIndex = currentImageIndex;
|
|
109
|
-
if (direction === "left") {
|
|
110
|
-
newIndex =
|
|
111
|
-
(currentImageIndex - 1 + pictureUrls.length) % pictureUrls.length;
|
|
112
|
-
} else if (direction === "right") {
|
|
113
|
-
newIndex = (currentImageIndex + 1) % pictureUrls.length;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
setCurrentImageIndex(newIndex);
|
|
117
|
-
setMainImage(pictureUrls[newIndex]);
|
|
118
|
-
|
|
119
|
-
// Ensure the ref exists before calling scrollTo
|
|
120
|
-
if (imageListRef.current) {
|
|
121
|
-
imageListRef.current.scrollTo({
|
|
122
|
-
left: newIndex * 150,
|
|
123
|
-
behavior: "smooth",
|
|
124
|
-
});
|
|
125
|
-
} else {
|
|
126
|
-
console.warn("imageListRef is not set");
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
// const boosted = "true";
|
|
130
|
-
|
|
131
|
-
const t = {
|
|
132
|
-
kaufpreis: props.translations?.kaufpreis || "Kaufpreis",
|
|
133
|
-
wohnflache: props.translations?.wohnflache || "Wohnfläche",
|
|
134
|
-
zimmer: props.translations?.zimmer || "Zimmer",
|
|
135
|
-
grundriss: props.translations?.grundriss || "Grundriss",
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
return (
|
|
139
|
-
<div className="d-flex flex-row property-card">
|
|
140
|
-
<div className="d-flex flex-column col-md-6 col-lg-6">
|
|
141
|
-
<div
|
|
142
|
-
key={props.property.id}
|
|
143
|
-
className="card-bod position-relative cardStyles h-100 w-100"
|
|
144
|
-
style={{
|
|
145
|
-
backgroundImage: `url(${mainImage || pictureUrls[0]})`,
|
|
146
|
-
backgroundSize: "cover",
|
|
147
|
-
backgroundPosition: "center",
|
|
148
|
-
maxWidth: "640",
|
|
149
|
-
}}
|
|
150
|
-
>
|
|
151
|
-
<div className="d-flex flex-row col-12 justify-content-between ">
|
|
152
|
-
<div
|
|
153
|
-
className="d-felx align-self-start justify-items-start ms-4 "
|
|
154
|
-
style={{ left: "16px" }}
|
|
155
|
-
onClick={() => handleArrowClickInMainImage("left")}
|
|
156
|
-
role="button"
|
|
157
|
-
>
|
|
158
|
-
<img src={arrowLeft} />
|
|
159
|
-
</div>
|
|
160
|
-
<div></div>
|
|
161
|
-
<div
|
|
162
|
-
className="d-flex align-self-end justify-items-end me-4"
|
|
163
|
-
onClick={() => handleArrowClickInMainImage("right")}
|
|
164
|
-
role="button"
|
|
165
|
-
>
|
|
166
|
-
<img src={arrowRight} style={{ right: "16px" }} />
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
<div
|
|
170
|
-
className="d-flex flex-row align-self-end justify-item-start justify-content-between align-item-start gap-1 mb-2 ms-4"
|
|
171
|
-
style={{ position: "absolute", left: "0" }}
|
|
172
|
-
>
|
|
173
|
-
<div className="cardTag" style={{ marginBottom: "16px" }}>{`${
|
|
174
|
-
currentImageIndex + 1
|
|
175
|
-
}/${pictureUrls.length}`}</div>
|
|
176
|
-
<div
|
|
177
|
-
className="Grundriss kontact-button-text ms-2 "
|
|
178
|
-
role="button"
|
|
179
|
-
onClick={() => handleFloorPlanButton()}
|
|
180
|
-
style={{ marginBottom: "16px" }}
|
|
181
|
-
>
|
|
182
|
-
<img src={iconLayers} className="" style={{ width: "18px" }} />{" "}
|
|
183
|
-
{t.grundriss}
|
|
184
|
-
</div>
|
|
185
|
-
</div>
|
|
186
|
-
</div>
|
|
187
|
-
</div>
|
|
188
|
-
<div
|
|
189
|
-
className={`listing-compact_c justify-content-between d-flex flex-column col-6 ${
|
|
190
|
-
props.Impliment ? "cc-height" : "listing-height"
|
|
191
|
-
}`}
|
|
192
|
-
>
|
|
193
|
-
<div className="col-12 d-flex justify-content-end gap-2">
|
|
194
|
-
<img
|
|
195
|
-
src={shareIcon}
|
|
196
|
-
alt="Share Icon"
|
|
197
|
-
className=" "
|
|
198
|
-
onClick={handleSharePopUp}
|
|
199
|
-
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
200
|
-
role="button"
|
|
201
|
-
/>
|
|
202
|
-
<img
|
|
203
|
-
src={moreIcon}
|
|
204
|
-
alt="More Icon"
|
|
205
|
-
className=""
|
|
206
|
-
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
207
|
-
role="button"
|
|
208
|
-
/>
|
|
209
|
-
</div>
|
|
210
|
-
<div className="col-11">
|
|
211
|
-
<span
|
|
212
|
-
className="propertyTitle align-items-start "
|
|
213
|
-
onClick={props.onClick}
|
|
214
|
-
role="button"
|
|
215
|
-
>
|
|
216
|
-
{props.property.expose?.title}
|
|
217
|
-
{/*Einziehen ohne einen Pinselstrich - Kernsanierte Eigentumswohnung*/}
|
|
218
|
-
{/*in top Lage*/}
|
|
219
|
-
</span>
|
|
220
|
-
</div>
|
|
221
|
-
<div className="col-12">
|
|
222
|
-
<div className="location-wrapper">
|
|
223
|
-
<img
|
|
224
|
-
src={locationIcon}
|
|
225
|
-
alt="Location Icon"
|
|
226
|
-
className="location-icon"
|
|
227
|
-
/>
|
|
228
|
-
<span className="locationTexts ">
|
|
229
|
-
{props.property.city || "N/A"}
|
|
230
|
-
</span>
|
|
231
|
-
</div>
|
|
232
|
-
</div>
|
|
233
|
-
<div className="d-flex flex-row justify-content-between">
|
|
234
|
-
<span className="priceValue justify-content-center align-items-center">
|
|
235
|
-
{formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €
|
|
236
|
-
<div className="price_label" style={{ whiteSpace: "nowrap" }}>
|
|
237
|
-
{t.kaufpreis}
|
|
238
|
-
</div>
|
|
239
|
-
</span>
|
|
240
|
-
<span className="text-dark value d-flex justify-content-center align-items-center">
|
|
241
|
-
{props.property.constructedArea} m²
|
|
242
|
-
<div className="details" style={{ whiteSpace: "nowrap" }}>
|
|
243
|
-
{t.wohnflache}
|
|
244
|
-
</div>
|
|
245
|
-
</span>
|
|
246
|
-
<span className="text-dark value d-flex justify-content-center align-items-center">
|
|
247
|
-
{+props.property?.rooms}
|
|
248
|
-
|
|
249
|
-
<div
|
|
250
|
-
className="details text-center"
|
|
251
|
-
style={{ whiteSpace: "nowrap" }}
|
|
252
|
-
>
|
|
253
|
-
{t.zimmer}
|
|
254
|
-
</div>
|
|
255
|
-
</span>
|
|
256
|
-
{/* <span className="text-dark value col-lg-4 col-md-3 col-sm-4 text-truncate ">
|
|
257
|
-
{+props.property.propertyArea} m²
|
|
258
|
-
<div className="details">Grundstück</div>
|
|
259
|
-
</span> */}
|
|
260
|
-
</div>
|
|
261
|
-
|
|
262
|
-
{/* <div
|
|
263
|
-
className="labelTopClass d-flex start-0 col-sm-5 col-lg-8 "
|
|
264
|
-
style={{ padding: "0 28px" }}
|
|
265
|
-
>
|
|
266
|
-
<div className=" align-items-center d-flex flex-row gap-3">
|
|
267
|
-
{props.property.historicalProtection && (
|
|
268
|
-
<label className="chipLabel justify-content-center align-items-center">
|
|
269
|
-
<span className="layersText">{"Denkmalschutz"}</span>
|
|
270
|
-
</label>
|
|
271
|
-
)}
|
|
272
|
-
|
|
273
|
-
{props.property.basement && (
|
|
274
|
-
<label className="chipLabel justify-content-center align-items-center">
|
|
275
|
-
<span className="layersText">{"Keller"}</span>
|
|
276
|
-
</label>
|
|
277
|
-
)}
|
|
278
|
-
{props.property.balcony && (
|
|
279
|
-
<label className="chipLabel justify-content-center align-items-center">
|
|
280
|
-
<span className="layersText">{"Balkon"}</span>
|
|
281
|
-
</label>
|
|
282
|
-
)}
|
|
283
|
-
{props.property.terrace && (
|
|
284
|
-
<label className="chipLabel justify-content-center align-items-center ">
|
|
285
|
-
<span className="layersText">{"Terrace"}</span>
|
|
286
|
-
</label>
|
|
287
|
-
)}
|
|
288
|
-
{props.property.guestBathroom && (
|
|
289
|
-
<label className="chipLabel">
|
|
290
|
-
<span className="layersText">{"Gäste-WC"}</span>
|
|
291
|
-
</label>
|
|
292
|
-
)}
|
|
293
|
-
</div>
|
|
294
|
-
</div> */}
|
|
295
|
-
<div className="d-lex flex-column ">
|
|
296
|
-
<div className="wrapperCompanySec d-flex justify-content-around flex-row">
|
|
297
|
-
<div className="d-flex flex-column col-4 justify-content-between ">
|
|
298
|
-
<img src={immooly} alt="Logo" className="immooly" />
|
|
299
|
-
</div>
|
|
300
|
-
<div className="d-flex flex-column align-items-center justify-content-center">
|
|
301
|
-
<div className="d-flex flex-column text-center">
|
|
302
|
-
<span className="fw-bold">
|
|
303
|
-
{props.userData
|
|
304
|
-
? `${props.userData.firstname} ${props.userData.lastname}`
|
|
305
|
-
: "Firstname Lastname"}
|
|
306
|
-
</span>
|
|
307
|
-
<span className="fst-italic fw-normal">
|
|
308
|
-
{props.userData?.company
|
|
309
|
-
? props.userData.company
|
|
310
|
-
: "Your Company"}
|
|
311
|
-
</span>
|
|
312
|
-
</div>
|
|
313
|
-
{/* {props.userData && (
|
|
314
|
-
<button
|
|
315
|
-
className="kontactbutton_cc text-light "
|
|
316
|
-
// onClick={handleMessagPopUp}
|
|
317
|
-
role="button"
|
|
318
|
-
>
|
|
319
|
-
<span className="kontact-button-text">
|
|
320
|
-
Kontakt aufnehmen{" "}
|
|
321
|
-
</span>
|
|
322
|
-
</button>
|
|
323
|
-
)} */}
|
|
324
|
-
</div>
|
|
325
|
-
</div>
|
|
326
|
-
</div>
|
|
327
|
-
|
|
328
|
-
{/* {!props.Impliment && (
|
|
329
|
-
<div
|
|
330
|
-
className="d-lex flex-column "
|
|
331
|
-
style={{
|
|
332
|
-
paddingLeft: "32px",
|
|
333
|
-
paddingRight: "32px",
|
|
334
|
-
}}
|
|
335
|
-
>
|
|
336
|
-
<div className="Frame-136 d-flex flex-row">
|
|
337
|
-
<div className="d-flex flex-column flex-lg-row col-4 justify-content-between ">
|
|
338
|
-
<img src={immooly} alt="Logo" className="immooly" />
|
|
339
|
-
</div>
|
|
340
|
-
<div className="d-flex flex-column flex-lg-row justify-content-between">
|
|
341
|
-
<div className="d-flex flex-column col-6">
|
|
342
|
-
<span className="">Herr Florian Gauss</span>
|
|
343
|
-
<span>Immogart UGh</span>
|
|
344
|
-
</div>
|
|
345
|
-
<button
|
|
346
|
-
className="kontactbutton text-light "
|
|
347
|
-
onClick={handleMessagPopUp}
|
|
348
|
-
role="button"
|
|
349
|
-
>
|
|
350
|
-
<span className="kontact-button-text">
|
|
351
|
-
Kontakt aufnehmen{" "}
|
|
352
|
-
</span>
|
|
353
|
-
</button>
|
|
354
|
-
</div>
|
|
355
|
-
</div>
|
|
356
|
-
</div>
|
|
357
|
-
)} */}
|
|
358
|
-
</div>
|
|
359
|
-
{/* {floorPlan && (
|
|
360
|
-
<FloorPlanPopup
|
|
361
|
-
contentUrl={props.floorPlanUrl}
|
|
362
|
-
onCloseClick={() => setFloorPlan(false)}
|
|
363
|
-
/>
|
|
364
|
-
)} */}
|
|
365
|
-
{/* {messagePopUp && (
|
|
366
|
-
<MessagePopUp
|
|
367
|
-
onCloseClick={() => setMessagPopUp(false)}
|
|
368
|
-
sellerFirstName={props.userData?.firstname}
|
|
369
|
-
sellerLastName={props.userData?.lastname}
|
|
370
|
-
themesList={props.themesList}
|
|
371
|
-
onSubmit={props.onMessagePopupSubmitClick}
|
|
372
|
-
/>
|
|
373
|
-
)} */}
|
|
374
|
-
{sharePopUp && <SharePopup onClick={() => setSharePopUp(false)} />}
|
|
375
|
-
{isImagePopupOpen && (
|
|
376
|
-
<ImageListPopup
|
|
377
|
-
pictureUrls={floorPlanImages}
|
|
378
|
-
onClose={() => setIsImagePopupOpen(false)}
|
|
379
|
-
/>
|
|
380
|
-
)}
|
|
381
|
-
</div>
|
|
382
|
-
);
|
|
383
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import closeIcon from "../../assets/images/icon_close_2.png";
|
|
3
|
-
import "./Popup.css";
|
|
4
|
-
import "../../styles/common.css";
|
|
5
|
-
|
|
6
|
-
interface PopupProps {
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
onCloseClick: () => void;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
|
|
12
|
-
return (
|
|
13
|
-
<div className="popup-overlay">
|
|
14
|
-
<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">
|
|
15
|
-
<div className="end-0 top-0 position-absolute ">
|
|
16
|
-
<img
|
|
17
|
-
src={closeIcon}
|
|
18
|
-
alt="close"
|
|
19
|
-
className="closeIcon me-2"
|
|
20
|
-
onClick={onCloseClick}
|
|
21
|
-
/>
|
|
22
|
-
</div>
|
|
23
|
-
{children}
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default Popup;
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
.padding-global {
|
|
2
|
-
height: 737px !important;
|
|
3
|
-
padding: 0 40px;
|
|
4
|
-
}
|
|
5
|
-
.header {
|
|
6
|
-
font-size: 48px;
|
|
7
|
-
font-weight: 600;
|
|
8
|
-
color: #1b1b1b;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.firstLabel {
|
|
12
|
-
width: 100px;
|
|
13
|
-
height: 25px;
|
|
14
|
-
gap: 6px;
|
|
15
|
-
border-radius: 16px;
|
|
16
|
-
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
17
|
-
border: solid 1px #031012 !important;
|
|
18
|
-
background-color: var(--main-yellow);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.secondLabel {
|
|
22
|
-
width: fit-content;
|
|
23
|
-
height: 25px;
|
|
24
|
-
padding: 0 17px;
|
|
25
|
-
border-radius: 16px;
|
|
26
|
-
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
27
|
-
border: solid 1px #000;
|
|
28
|
-
background-color: #fff;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/* .thirdLabels {
|
|
32
|
-
padding: 4px;
|
|
33
|
-
width: 110px;
|
|
34
|
-
height: 25px;
|
|
35
|
-
border-radius: 16px;
|
|
36
|
-
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
37
|
-
border: solid 1px #000;
|
|
38
|
-
background-color: #fff;
|
|
39
|
-
} */
|
|
40
|
-
|
|
41
|
-
.fourthLabels {
|
|
42
|
-
padding: 2px;
|
|
43
|
-
|
|
44
|
-
width: 100px;
|
|
45
|
-
height: 25px;
|
|
46
|
-
border-radius: 16px;
|
|
47
|
-
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
48
|
-
border: solid 1px #000;
|
|
49
|
-
background-color: #fff;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.layersVector {
|
|
53
|
-
width: 15.1px;
|
|
54
|
-
height: 16px;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.layersText {
|
|
58
|
-
font-size: 14px;
|
|
59
|
-
color: #1b1b1b;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.style-img {
|
|
63
|
-
object-fit: cover;
|
|
64
|
-
border-radius: 30px !important;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.Vector {
|
|
68
|
-
width: 12px;
|
|
69
|
-
height: 16.1px;
|
|
70
|
-
flex-grow: 0;
|
|
71
|
-
margin: 0.4px 6px 0.4px 0;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.customButton {
|
|
75
|
-
width: 262px;
|
|
76
|
-
height: 43px;
|
|
77
|
-
color: #000;
|
|
78
|
-
cursor: pointer;
|
|
79
|
-
border-color: var(--main-yellow);
|
|
80
|
-
background-color: var(--main-yellow);
|
|
81
|
-
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
82
|
-
}
|
|
83
|
-
.button_text {
|
|
84
|
-
font-size: 16px;
|
|
85
|
-
font-weight: 500;
|
|
86
|
-
color: #1b1b1b;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.heartVector {
|
|
90
|
-
width: 23px;
|
|
91
|
-
height: 26.7px;
|
|
92
|
-
cursor: pointer;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.heartVector.liked {
|
|
96
|
-
fill: rgb(255, 255, 255) !important;
|
|
97
|
-
}
|
|
98
|
-
.locationText {
|
|
99
|
-
font-size: 14px;
|
|
100
|
-
color: white;
|
|
101
|
-
text-align: center;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.arrowVector {
|
|
105
|
-
width: 23px;
|
|
106
|
-
height: 23px;
|
|
107
|
-
flex-grow: 0;
|
|
108
|
-
object-fit: contain;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.Price {
|
|
112
|
-
font-size: 26px;
|
|
113
|
-
font-weight: 500;
|
|
114
|
-
font-stretch: normal;
|
|
115
|
-
font-style: normal;
|
|
116
|
-
line-height: normal;
|
|
117
|
-
letter-spacing: normal;
|
|
118
|
-
text-align: center;
|
|
119
|
-
color: #fff;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.detail {
|
|
123
|
-
font-size: 12px;
|
|
124
|
-
text-align: center;
|
|
125
|
-
color: #fff;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.class {
|
|
129
|
-
background-color: #1b1b1b;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.header {
|
|
133
|
-
height: 64px;
|
|
134
|
-
justify-content: center;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.cardStyle {
|
|
138
|
-
width: 405px;
|
|
139
|
-
max-width: 2405px;
|
|
140
|
-
display: flex;
|
|
141
|
-
align-items: center;
|
|
142
|
-
justify-content: center;
|
|
143
|
-
height: 350px;
|
|
144
|
-
border-radius: 30px !important;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
.rightConer {
|
|
148
|
-
width: 200px;
|
|
149
|
-
}
|
|
150
|
-
@media all and (min-width: 2560px) {
|
|
151
|
-
.header {
|
|
152
|
-
font-size: 38px;
|
|
153
|
-
|
|
154
|
-
display: flex;
|
|
155
|
-
}
|
|
156
|
-
.cardStyle {
|
|
157
|
-
gap: 0px;
|
|
158
|
-
width: 350px;
|
|
159
|
-
height: 300px;
|
|
160
|
-
/* margin-left: 250px; */
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
@media (max-width: 1399px) {
|
|
164
|
-
.header {
|
|
165
|
-
font-size: 38px;
|
|
166
|
-
align-self: center;
|
|
167
|
-
margin-left: 150px;
|
|
168
|
-
}
|
|
169
|
-
.cardStyle {
|
|
170
|
-
gap: 0px;
|
|
171
|
-
width: 350px;
|
|
172
|
-
height: 300px;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
@media (max-width: 1199px) {
|
|
177
|
-
.header {
|
|
178
|
-
font-size: 38px;
|
|
179
|
-
}
|
|
180
|
-
.cardStyle {
|
|
181
|
-
width: 300px;
|
|
182
|
-
height: 250px;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
@media (max-width: 575px) {
|
|
187
|
-
.detail {
|
|
188
|
-
font-size: 11px;
|
|
189
|
-
padding: 2px;
|
|
190
|
-
}
|
|
191
|
-
.Price {
|
|
192
|
-
font-size: 19px;
|
|
193
|
-
}
|
|
194
|
-
.header {
|
|
195
|
-
font-size: 28px;
|
|
196
|
-
}
|
|
197
|
-
.locationText {
|
|
198
|
-
font-size: 12px;
|
|
199
|
-
}
|
|
200
|
-
.customButton {
|
|
201
|
-
width: 200px !important;
|
|
202
|
-
}
|
|
203
|
-
.button_text {
|
|
204
|
-
font-size: 13px;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
@media (max-width: 375px) {
|
|
209
|
-
.labelTopClass {
|
|
210
|
-
width: 105px !important;
|
|
211
|
-
}
|
|
212
|
-
.layersText {
|
|
213
|
-
font-size: 9px;
|
|
214
|
-
}
|
|
215
|
-
.firstLabel {
|
|
216
|
-
gap: 2px;
|
|
217
|
-
}
|
|
218
|
-
.layersVector {
|
|
219
|
-
width: 9px;
|
|
220
|
-
height: 10px;
|
|
221
|
-
gap: 0px;
|
|
222
|
-
}
|
|
223
|
-
.cardStyle {
|
|
224
|
-
width: 320px !important;
|
|
225
|
-
height: 220px !important;
|
|
226
|
-
}
|
|
227
|
-
.header {
|
|
228
|
-
font-size: 24px;
|
|
229
|
-
}
|
|
230
|
-
.detail {
|
|
231
|
-
font-size: 10px;
|
|
232
|
-
padding: 2px;
|
|
233
|
-
}
|
|
234
|
-
.Price {
|
|
235
|
-
font-size: 18px;
|
|
236
|
-
}
|
|
237
|
-
.locationText {
|
|
238
|
-
font-size: 10px;
|
|
239
|
-
}
|
|
240
|
-
.Vector {
|
|
241
|
-
width: 8px;
|
|
242
|
-
height: 16px;
|
|
243
|
-
margin: 0px 2px 0.4px;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
@media (max-width: 280px) {
|
|
248
|
-
.cardStyle {
|
|
249
|
-
width: 260px !important;
|
|
250
|
-
height: 160px !important;
|
|
251
|
-
}
|
|
252
|
-
.detail {
|
|
253
|
-
margin-bottom: 5px;
|
|
254
|
-
font-size: 0.6ch;
|
|
255
|
-
}
|
|
256
|
-
.Price {
|
|
257
|
-
font-size: 9px;
|
|
258
|
-
}
|
|
259
|
-
.locationText {
|
|
260
|
-
font-size: 6px;
|
|
261
|
-
}
|
|
262
|
-
.Vector {
|
|
263
|
-
width: 7px;
|
|
264
|
-
height: 10px;
|
|
265
|
-
margin: 0px 2px 4px;
|
|
266
|
-
}
|
|
267
|
-
.heartVector {
|
|
268
|
-
width: 15px;
|
|
269
|
-
height: 20px;
|
|
270
|
-
}
|
|
271
|
-
}
|