nestiq-component-library 1.1.165 → 1.1.167
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/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +7 -0
- package/dist/index.es.js +57 -80
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +57 -80
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/NewPropertyCard/NewPropertyCard.css +31 -6
- package/src/components/NewPropertyCard/NewPropertyCard.tsx +54 -96
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.css +44 -44
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +80 -61
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
.property-card {
|
|
2
2
|
width: 100%;
|
|
3
|
-
max-width: 1280px;
|
|
3
|
+
/* max-width: 1280px; */
|
|
4
4
|
height: auto;
|
|
5
5
|
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
6
6
|
border-radius: 32px;
|
|
7
7
|
|
|
8
|
-
@media (min-width: 1500px) {
|
|
8
|
+
/* @media (min-width: 1500px) {
|
|
9
9
|
max-width: 1280px;
|
|
10
10
|
margin: 0 auto;
|
|
11
|
-
}
|
|
11
|
+
} */
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.priceValue,
|
|
@@ -21,13 +21,38 @@
|
|
|
21
21
|
white-space: nowrap;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
.listing-
|
|
25
|
-
max-width: 750px;
|
|
26
|
-
gap:
|
|
24
|
+
.listing-compact_c {
|
|
25
|
+
/* max-width: 750px; */
|
|
26
|
+
gap: 8px;
|
|
27
|
+
padding: 24px;
|
|
27
28
|
border-radius: 0 32px 32px 0;
|
|
28
29
|
background-color: rgba(58, 58, 58, 0.068);
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
.wrapperCompanySec {
|
|
33
|
+
height: 119px;
|
|
34
|
+
align-self: stretch;
|
|
35
|
+
flex-grow: 0;
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: row;
|
|
38
|
+
justify-content: flex-start;
|
|
39
|
+
align-items: center;
|
|
40
|
+
gap: 16px;
|
|
41
|
+
padding: 10px 16px;
|
|
42
|
+
border-radius: 16px;
|
|
43
|
+
border: solid 1px rgba(0, 0, 0, 0.1);
|
|
44
|
+
background-color: #fff;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.kontactbutton_cc {
|
|
48
|
+
width: 180px;
|
|
49
|
+
height: 43px;
|
|
50
|
+
gap: 10px;
|
|
51
|
+
border-radius: 16px;
|
|
52
|
+
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
53
|
+
background: linear-gradient(to top, #000, #666);
|
|
54
|
+
}
|
|
55
|
+
|
|
31
56
|
.cc-height {
|
|
32
57
|
height: 460px;
|
|
33
58
|
}
|
|
@@ -193,102 +193,64 @@ export default function PropertyCard(props: PopupProps) {
|
|
|
193
193
|
</div>
|
|
194
194
|
</div>
|
|
195
195
|
<div
|
|
196
|
-
className={`listing-
|
|
196
|
+
className={`listing-compact_c justify-content-between d-flex flex-column col-6 ${
|
|
197
197
|
props.Impliment ? "cc-height" : "listing-height"
|
|
198
198
|
}`}
|
|
199
199
|
>
|
|
200
|
-
<div
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
{/*in top Lage*/}
|
|
217
|
-
</span>
|
|
218
|
-
<div
|
|
219
|
-
className="d-flex gap-2"
|
|
220
|
-
style={{
|
|
221
|
-
paddingRight: "32px",
|
|
222
|
-
paddingTop: "21px",
|
|
223
|
-
paddingLeft: "10px",
|
|
224
|
-
}}
|
|
225
|
-
>
|
|
226
|
-
<img
|
|
227
|
-
src={shareIcon}
|
|
228
|
-
alt="Share Icon"
|
|
229
|
-
className=" "
|
|
230
|
-
onClick={handleSharePopUp}
|
|
231
|
-
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
232
|
-
role="button"
|
|
233
|
-
/>
|
|
234
|
-
<img
|
|
235
|
-
src={moreIcon}
|
|
236
|
-
alt="More Icon"
|
|
237
|
-
className=""
|
|
238
|
-
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
239
|
-
role="button"
|
|
240
|
-
/>
|
|
241
|
-
</div>
|
|
242
|
-
</div>
|
|
243
|
-
|
|
244
|
-
<div
|
|
245
|
-
style={{
|
|
246
|
-
paddingLeft: "32px",
|
|
247
|
-
paddingRight: "32px",
|
|
248
|
-
}}
|
|
249
|
-
>
|
|
250
|
-
{" "}
|
|
251
|
-
<div className="location-wrapper">
|
|
252
|
-
<img
|
|
253
|
-
src={locationIcon}
|
|
254
|
-
alt="Location Icon"
|
|
255
|
-
className="location-icon"
|
|
256
|
-
/>
|
|
257
|
-
<span className="locationTexts ">
|
|
258
|
-
{props.property.city || "N/A"}
|
|
259
|
-
</span>
|
|
260
|
-
</div>
|
|
261
|
-
</div>
|
|
200
|
+
<div className="col-12 d-flex justify-content-end gap-2">
|
|
201
|
+
<img
|
|
202
|
+
src={shareIcon}
|
|
203
|
+
alt="Share Icon"
|
|
204
|
+
className=" "
|
|
205
|
+
onClick={handleSharePopUp}
|
|
206
|
+
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
207
|
+
role="button"
|
|
208
|
+
/>
|
|
209
|
+
<img
|
|
210
|
+
src={moreIcon}
|
|
211
|
+
alt="More Icon"
|
|
212
|
+
className=""
|
|
213
|
+
style={{ maxHeight: "24px", maxWidth: "24px" }}
|
|
214
|
+
role="button"
|
|
215
|
+
/>
|
|
262
216
|
</div>
|
|
263
|
-
<div
|
|
264
|
-
className="d-flex flex-row justify-content-between mt-3"
|
|
265
|
-
style={{
|
|
266
|
-
paddingLeft: "32px",
|
|
267
|
-
paddingRight: "32px",
|
|
268
|
-
}}
|
|
269
|
-
>
|
|
217
|
+
<div className="col-11">
|
|
270
218
|
<span
|
|
271
|
-
className="
|
|
272
|
-
|
|
219
|
+
className="propertyTitle align-items-start "
|
|
220
|
+
onClick={props.onClick}
|
|
221
|
+
role="button"
|
|
273
222
|
>
|
|
223
|
+
{props.property.expose?.title}
|
|
224
|
+
{/*Einziehen ohne einen Pinselstrich - Kernsanierte Eigentumswohnung*/}
|
|
225
|
+
{/*in top Lage*/}
|
|
226
|
+
</span>
|
|
227
|
+
</div>
|
|
228
|
+
<div className="col-12">
|
|
229
|
+
<div className="location-wrapper">
|
|
230
|
+
<img
|
|
231
|
+
src={locationIcon}
|
|
232
|
+
alt="Location Icon"
|
|
233
|
+
className="location-icon"
|
|
234
|
+
/>
|
|
235
|
+
<span className="locationTexts ">
|
|
236
|
+
{props.property.city || "N/A"}
|
|
237
|
+
</span>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
<div className="d-flex flex-row justify-content-between">
|
|
241
|
+
<span className="priceValue justify-content-center align-items-center">
|
|
274
242
|
{formatPrice(props.property?.evaluation?.askingPrice ?? 0)} €
|
|
275
243
|
<div className="price_label" style={{ whiteSpace: "nowrap" }}>
|
|
276
244
|
{t.kaufpreis}
|
|
277
245
|
</div>
|
|
278
246
|
</span>
|
|
279
|
-
<span
|
|
280
|
-
className="text-dark value col-lg-5 col-md-5 col-sm-7"
|
|
281
|
-
style={{ whiteSpace: "nowrap" }}
|
|
282
|
-
>
|
|
247
|
+
<span className="text-dark value d-flex justify-content-center align-items-center">
|
|
283
248
|
{props.property.constructedArea} m²
|
|
284
249
|
<div className="details" style={{ whiteSpace: "nowrap" }}>
|
|
285
250
|
{t.wohnflache}
|
|
286
251
|
</div>
|
|
287
252
|
</span>
|
|
288
|
-
<span
|
|
289
|
-
className="text-dark value text-center col-lg-2 col-md-2 col-sm-5 text-truncate"
|
|
290
|
-
style={{ whiteSpace: "nowrap" }}
|
|
291
|
-
>
|
|
253
|
+
<span className="text-dark value d-flex justify-content-center align-items-center">
|
|
292
254
|
{+props.property?.rooms}
|
|
293
255
|
|
|
294
256
|
<div
|
|
@@ -304,7 +266,7 @@ export default function PropertyCard(props: PopupProps) {
|
|
|
304
266
|
</span> */}
|
|
305
267
|
</div>
|
|
306
268
|
|
|
307
|
-
<div
|
|
269
|
+
{/* <div
|
|
308
270
|
className="labelTopClass d-flex start-0 col-sm-5 col-lg-8 "
|
|
309
271
|
style={{ padding: "0 28px" }}
|
|
310
272
|
>
|
|
@@ -336,25 +298,21 @@ export default function PropertyCard(props: PopupProps) {
|
|
|
336
298
|
</label>
|
|
337
299
|
)}
|
|
338
300
|
</div>
|
|
339
|
-
</div>
|
|
301
|
+
</div> */}
|
|
340
302
|
{props.Impliment && (
|
|
341
|
-
<div
|
|
342
|
-
className=""
|
|
343
|
-
|
|
344
|
-
paddingLeft: "32px",
|
|
345
|
-
paddingRight: "32px",
|
|
346
|
-
}}
|
|
347
|
-
>
|
|
348
|
-
<div className="Frame-136 d-flex flex-row">
|
|
349
|
-
<div className="d-flex flex-column flex-lg-row col-4 justify-content-between ">
|
|
303
|
+
<div className="d-lex flex-column ">
|
|
304
|
+
<div className="wrapperCompanySec d-flex justify-content-around flex-row">
|
|
305
|
+
<div className="d-flex flex-column col-4 justify-content-between ">
|
|
350
306
|
<img src={immooly} alt="Logo" className="immooly" />
|
|
351
307
|
</div>
|
|
352
|
-
<div className="
|
|
353
|
-
<
|
|
354
|
-
|
|
308
|
+
<div className="d-flex flex-column align-items-center justify-content-center">
|
|
309
|
+
<div className="d-flex flex-column text-center">
|
|
310
|
+
<span className="">Firstname Firstname</span>
|
|
311
|
+
<span>Your company</span>
|
|
312
|
+
</div>
|
|
355
313
|
{/* <button
|
|
356
|
-
className="
|
|
357
|
-
onClick={handleMessagPopUp}
|
|
314
|
+
className="kontactbutton_cc text-light "
|
|
315
|
+
// onClick={handleMessagPopUp}
|
|
358
316
|
role="button"
|
|
359
317
|
>
|
|
360
318
|
<span className="kontact-button-text">
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.
|
|
1
|
+
.compact_cc {
|
|
2
|
+
padding: 32px;
|
|
2
3
|
height: 194px;
|
|
3
4
|
border-radius: 32px;
|
|
4
5
|
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
5
6
|
background-color: #f2f2f2;
|
|
6
|
-
position: relative !important;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.header_Text {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
line-height: normal;
|
|
13
13
|
color: #1b1b1b;
|
|
14
14
|
}
|
|
15
|
-
.location{
|
|
15
|
+
.location {
|
|
16
16
|
left: 0;
|
|
17
17
|
}
|
|
18
18
|
.vector svg {
|
|
@@ -24,8 +24,11 @@
|
|
|
24
24
|
cursor: pointer;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
.textWrapper {
|
|
28
|
+
height: 20px;
|
|
29
|
+
}
|
|
30
|
+
|
|
27
31
|
.propText {
|
|
28
|
-
height: 30px;
|
|
29
32
|
font-size: 16px;
|
|
30
33
|
letter-spacing: normal;
|
|
31
34
|
text-align: center;
|
|
@@ -51,44 +54,41 @@
|
|
|
51
54
|
height: 700px;
|
|
52
55
|
}
|
|
53
56
|
.compact {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
.compact2{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
font-weight: 1000;
|
|
92
|
-
font-size: 24px;
|
|
93
|
-
}
|
|
57
|
+
border-radius: 32px;
|
|
58
|
+
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
|
|
59
|
+
background-color: #f2f2f2;
|
|
60
|
+
}
|
|
61
|
+
.compact2 {
|
|
62
|
+
position: relative !important;
|
|
63
|
+
display: flex !important;
|
|
64
|
+
align-self: flex-start !important;
|
|
65
|
+
margin-left: 25px;
|
|
66
|
+
justify-content: start !important;
|
|
67
|
+
align-items: flex-start !important;
|
|
68
|
+
}
|
|
69
|
+
.compact3 {
|
|
70
|
+
position: relative !important;
|
|
71
|
+
display: flex !important;
|
|
72
|
+
margin-left: 30px;
|
|
73
|
+
margin-top: 10px !important;
|
|
74
|
+
}
|
|
75
|
+
.header_Text {
|
|
76
|
+
margin-top: 0px;
|
|
77
|
+
}
|
|
78
|
+
.fetch_section {
|
|
79
|
+
margin-top: 0px;
|
|
80
|
+
height: 60px;
|
|
81
|
+
}
|
|
82
|
+
.propText {
|
|
83
|
+
justify-content: start !important;
|
|
84
|
+
align-self: flex-start !important;
|
|
85
|
+
text-align: start !important;
|
|
86
|
+
}
|
|
87
|
+
.propText2 {
|
|
88
|
+
justify-content: start !important;
|
|
89
|
+
align-self: flex-start !important;
|
|
90
|
+
text-align: start !important;
|
|
91
|
+
font-weight: 1000;
|
|
92
|
+
font-size: 24px;
|
|
93
|
+
}
|
|
94
94
|
}
|
|
@@ -8,6 +8,7 @@ import { formatPrice, formatPropertyArea } from "../../functions/util";
|
|
|
8
8
|
|
|
9
9
|
export interface PopupProps {
|
|
10
10
|
property: {
|
|
11
|
+
fullAddress: string;
|
|
11
12
|
city: string;
|
|
12
13
|
constructedArea: string;
|
|
13
14
|
rooms: string;
|
|
@@ -15,73 +16,91 @@ export interface PopupProps {
|
|
|
15
16
|
askingPrice: number;
|
|
16
17
|
};
|
|
17
18
|
title: string;
|
|
19
|
+
translations?: {
|
|
20
|
+
kaufpreis?: string;
|
|
21
|
+
wohnflache?: string;
|
|
22
|
+
zimmer?: string;
|
|
23
|
+
grundriss?: string;
|
|
24
|
+
};
|
|
18
25
|
}
|
|
19
26
|
|
|
20
27
|
export default function PropertyDetailsHeader(props: PopupProps) {
|
|
21
28
|
const [showPopUp, setShowPopUp] = useState(false);
|
|
22
29
|
const area = props.property?.propertyArea;
|
|
23
|
-
|
|
24
|
-
const handleOpenPopup = () => setShowPopUp(true);
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
const handleOpenPopup = () => setShowPopUp(true);
|
|
32
|
+
|
|
33
|
+
const handleClosePopup = () => setShowPopUp(false);
|
|
34
|
+
|
|
35
|
+
const t = {
|
|
36
|
+
kaufpreis: props.translations?.kaufpreis || "Kaufpreis",
|
|
37
|
+
wohnflache: props.translations?.wohnflache || "Wohnfläche",
|
|
38
|
+
zimmer: props.translations?.zimmer || "Zimmer",
|
|
39
|
+
grundriss: props.translations?.grundriss || "Grundriss",
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<div className="compact_cc d-flex flex-column col-12 col-lg-12 mt-3 justify-content-between">
|
|
44
|
+
<div className="col-12 d-flex flex-row">
|
|
45
|
+
<div className="header_Text d-flex col-lg-11 col-md-11 mt-0">
|
|
46
|
+
<strong>{props.title ?? "-"}</strong>
|
|
47
|
+
</div>
|
|
48
|
+
<div className="d-flex col-lg-1 col-md-1 justify-content-end position-relative">
|
|
49
|
+
{/* <img src={Hearticon} alt="Location Icon" className="v_share me-3" /> */}
|
|
50
|
+
<img
|
|
51
|
+
src={ShareIcon}
|
|
52
|
+
alt="share icon"
|
|
53
|
+
className="v_share me-3 position-absolute"
|
|
54
|
+
onClick={handleOpenPopup}
|
|
55
|
+
/>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
27
58
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/>
|
|
47
|
-
</div>
|
|
48
|
-
<div className="compact2 gap-3 gap-md-0 fetch_section d-flex align-items-center flex-column flex-md-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0">
|
|
49
|
-
{props && (
|
|
50
|
-
<div className="propText col-lg-3 col-md-3 h-100 d-flex flex-column align-items-md-center justify-content-center mt-4 mt-md-0">
|
|
51
|
-
<span className="propText2">
|
|
52
|
-
{formatPrice(props.property?.askingPrice ?? 0)}€
|
|
53
|
-
</span>
|
|
54
|
-
<span>Kaufpreis</span>
|
|
55
|
-
</div>
|
|
56
|
-
)}
|
|
59
|
+
<div className="d-flex flex-row justify-content-between">
|
|
60
|
+
<div className="col-6 d-flex flex-row align-items-end jsutify-content-start gap-1">
|
|
61
|
+
<div className="d-flex gap-1 justify-content-center">
|
|
62
|
+
<div className="d-flex gap-2 align-items-center">
|
|
63
|
+
<img src={locationIcon} className="" alt="location Icon" />
|
|
64
|
+
</div>
|
|
65
|
+
<div className="textWrapper">{props.property?.fullAddress}</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div className="d-flex align-items-end gap-3 justify-content-end flex-row col-lg-6 col-md-6 col-sm-5">
|
|
69
|
+
{props && (
|
|
70
|
+
<div className="propText h-100 d-flex flex-column align-items-center justify-content-center">
|
|
71
|
+
<span className="">
|
|
72
|
+
{formatPrice(props.property?.askingPrice ?? 0)}€ <br />
|
|
73
|
+
</span>
|
|
74
|
+
<span className="textWrapper">{t.kaufpreis}</span>
|
|
75
|
+
</div>
|
|
76
|
+
)}
|
|
57
77
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
);
|
|
78
|
+
{props && (
|
|
79
|
+
<div className="propText h-100 d-flex flex-column align-items-center justify-content-center">
|
|
80
|
+
<span className="">
|
|
81
|
+
{formatPropertyArea(props.property.constructedArea) ?? 0}
|
|
82
|
+
</span>
|
|
83
|
+
<span className="textWrapper">{t.wohnflache}</span>
|
|
84
|
+
</div>
|
|
85
|
+
)}
|
|
86
|
+
{props && (
|
|
87
|
+
<div className="propText h-100 d-flex flex-column align-items-center justify-content-center">
|
|
88
|
+
<span className="">{props.property.rooms}</span>
|
|
89
|
+
<span className="textWrapper">{t.zimmer}</span>
|
|
90
|
+
</div>
|
|
91
|
+
)}
|
|
92
|
+
{/* {props && (
|
|
93
|
+
<div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center flex-column">
|
|
94
|
+
<span className="">
|
|
95
|
+
{formatPropertyArea(area ?? 0)} m²
|
|
96
|
+
</span>
|
|
97
|
+
Grundstück
|
|
98
|
+
<FormattedMessage id="Grundstück" />
|
|
99
|
+
</div>
|
|
100
|
+
)} */}
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
{showPopUp && <SharePopup onClick={() => handleClosePopup()} />}
|
|
104
|
+
</div>
|
|
105
|
+
);
|
|
87
106
|
}
|