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.
@@ -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-compact {
25
- max-width: 750px;
26
- gap: 32px;
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-compact d-flex align-self-end flex-column col-6 ${
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
- className="d-flex flex-column gap-3 mb-4 justify-content-between"
202
- style={{ height: "104px" }}
203
- >
204
- <div className="d-flex flex-row justify-content-between gap-2">
205
- <span
206
- className="propertyTitle align-items-start "
207
- style={{
208
- paddingLeft: "32px",
209
- paddingTop: "32px",
210
- }}
211
- onClick={props.onClick}
212
- role="button"
213
- >
214
- {props.property.expose?.title}
215
- {/*Einziehen ohne einen Pinselstrich - Kernsanierte Eigentumswohnung*/}
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="priceValue col-lg-5 col-md-5 col-sm-6"
272
- style={{ whiteSpace: "nowrap" }}
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
- style={{
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="ms-2 d-flex flex-column col-8 justify-content-center align-self-center text-center">
353
- <span className="fw-bold">Herr Florian Gauss</span>
354
- <span>Immogart UGh</span>
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="kontactbutton text-light align-self-center"
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
- .compact {
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
- border-radius: 32px;
55
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
56
- background-color: #f2f2f2;
57
- }
58
- .compact2{
59
- position: relative !important;
60
- display: flex !important;
61
- align-self: flex-start !important;
62
- margin-left: 25px;
63
- justify-content: start !important;
64
- align-items: flex-start !important;
65
-
66
- }
67
- .compact3{
68
- position: relative !important;
69
- display: flex !important;
70
- margin-left: 30px;
71
- margin-top: 10px !important;
72
- }
73
- .header_Text {
74
- margin-top: 0px;
75
-
76
- }
77
- .fetch_section {
78
- margin-top: 0px;
79
- height: 60px;
80
- }
81
- .propText {
82
- justify-content: start !important;
83
- align-self: flex-start !important;
84
- text-align: start !important;
85
-
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
- }
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
- const handleClosePopup = () => setShowPopUp(false);
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
- return (
29
- <div className="Pheader compact d-flex flex-column flex-md-row d-flex col-12 col-lg-12 mt-5 ">
30
- <div className="header_Text d-flex col-5 col-lg-7 col-md-9 mt-4 ms-4 ">
31
- <strong>{props.title ?? "-"}</strong>
32
- </div>
33
- <div className="compact3 position-absolute header_Text text-truncate col-5 col-lg-5 col-md-5 d-flex flex-row ms-4">
34
- <img src={locationIcon} className="vector me-2" alt="location Icon" />
35
- <div className="propText text-truncate col-lg-6 col-md-6 d-flex align-items-center">
36
- {props.property.city}
37
- </div>
38
- </div>
39
- <div className="compact2 d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 me-2 mt-4">
40
- {/* <img src={Hearticon} alt="Location Icon" className="v_share me-3" /> */}
41
- <img
42
- src={ShareIcon}
43
- alt="share icon"
44
- className="v_share me-3"
45
- onClick={handleOpenPopup}
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
- {props && (
59
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-md-center justify-content-center flex-column">
60
- <span className="propText2">
61
- {formatPropertyArea(props.property.constructedArea) ?? 0}
62
- </span>
63
- <span>Wohnfläche</span>
64
- {/* <FormattedMessage id="LIVING_SPACE" /> */}
65
- </div>
66
- )}
67
- {props && (
68
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center flex-column">
69
- <span className="propText2">{props.property.rooms}</span>
70
- <span>Zimmer</span>
71
- {/* <FormattedMessage id="ROOMS" /> */}
72
- </div>
73
- )}
74
- {props && (
75
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center flex-column">
76
- <span className="propText2">
77
- {formatPropertyArea(area ?? 0)} m²
78
- </span>
79
- Grundstück
80
- {/* <FormattedMessage id="Grundstück" /> */}
81
- </div>
82
- )}
83
- </div>
84
- {showPopUp && <SharePopup onClick={() => handleClosePopup()} /> }
85
- </div>
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)}
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
  }