nestiq-component-library 1.0.10 → 1.0.12
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/Button/Button.js +6 -0
- package/dist/components/ImageListPopup/ImageListPopup.js +26 -0
- package/dist/components/Popup/Popup.js +12 -0
- package/dist/components/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +8 -1
- package/dist/index.es.js +4 -3
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/rollup.config.mjs +40 -40
- package/src/components/ImageListPopup/ImageListPopup.css +107 -107
- package/src/components/ImageListPopup/ImageListPopup.tsx +100 -100
- package/src/components/Popup/Popup.tsx +28 -28
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +77 -70
- package/dist/assets/images/icon_close 2.png +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import "bootstrap/dist/css/bootstrap.min.css";
|
|
3
|
+
import "./ImageListPopup.css";
|
|
4
|
+
var ImageListPopup = function (_a) {
|
|
5
|
+
var images = _a.images, onClose = _a.onClose;
|
|
6
|
+
var _b = useState(0), currentIndex = _b[0], setCurrentIndex = _b[1];
|
|
7
|
+
var handlePrevious = function () {
|
|
8
|
+
setCurrentIndex(function (prevIndex) { return (prevIndex > 0 ? prevIndex - 1 : prevIndex); });
|
|
9
|
+
};
|
|
10
|
+
var handleNext = function () {
|
|
11
|
+
setCurrentIndex(function (prevIndex) {
|
|
12
|
+
return prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
return (React.createElement("div", { className: "popup-overlay" },
|
|
16
|
+
React.createElement("div", { className: "popup-container" },
|
|
17
|
+
React.createElement("div", { className: "popup-header" },
|
|
18
|
+
React.createElement("span", null, images[currentIndex].title),
|
|
19
|
+
React.createElement("button", { className: "btn-close", onClick: onClose })),
|
|
20
|
+
React.createElement("div", { className: "popup-body" },
|
|
21
|
+
React.createElement("img", { src: images[currentIndex].src, alt: images[currentIndex].title, className: "img-fluid" })),
|
|
22
|
+
React.createElement("div", { className: "popup-footer" }, images.length > 1 && (React.createElement(React.Fragment, null,
|
|
23
|
+
React.createElement("button", { className: "btn btn-secondary me-2", onClick: handlePrevious }, "Previous"),
|
|
24
|
+
React.createElement("button", { className: "btn btn-secondary", onClick: handleNext }, "Next")))))));
|
|
25
|
+
};
|
|
26
|
+
export default ImageListPopup;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import closeIcon from "src/assets/images/icon_close 2.png";
|
|
3
|
+
import "./Popup.css";
|
|
4
|
+
var Popup = function (_a) {
|
|
5
|
+
var onCloseClick = _a.onCloseClick, children = _a.children;
|
|
6
|
+
return (React.createElement("div", { className: "popup-overlay" },
|
|
7
|
+
React.createElement("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" },
|
|
8
|
+
React.createElement("div", { className: "end-0 top-0 position-absolute " },
|
|
9
|
+
React.createElement("img", { src: closeIcon, alt: "close", className: "closeIcon me-2", onClick: onCloseClick })),
|
|
10
|
+
children)));
|
|
11
|
+
};
|
|
12
|
+
export default Popup;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "./PropertyDetailsHeader.css";
|
|
3
|
-
|
|
3
|
+
interface PopupProps {
|
|
4
|
+
property: {
|
|
5
|
+
city: string;
|
|
6
|
+
price: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export default function PropertyDetailsHeader(props: PopupProps): React.JSX.Element;
|
|
10
|
+
export {};
|
package/dist/index.es.js
CHANGED
|
@@ -47,7 +47,7 @@ var Popup = function (_a) {
|
|
|
47
47
|
children)));
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
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";
|
|
50
|
+
var css_248z$1 = ".popup-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 10000;\r\n}\r\n\r\n.popup-container {\r\n background-color: transparent;\r\n border-radius: 8px;\r\n max-width: 90%;\r\n max-height: 90%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n position: relative;\r\n}\r\n\r\n.popup-header {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n padding: 1rem;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.popup-title {\r\n color: white;\r\n font-size: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.btn-close {\r\n position: absolute;\r\n right: 1rem;\r\n top: 1rem;\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 24px;\r\n cursor: pointer;\r\n}\r\n\r\n.popup-body {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n position: relative;\r\n flex: 1;\r\n}\r\n\r\n.main-image {\r\n max-width: 100%;\r\n max-height: 80vh;\r\n border-radius: 8px;\r\n}\r\n\r\n.btn-prev,\r\n.btn-next {\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 48px;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.btn-prev {\r\n left: 10px;\r\n}\r\n\r\n.btn-next {\r\n right: 10px;\r\n}\r\n\r\n.popup-thumbnails {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 1rem;\r\n}\r\n\r\n.thumbnail {\r\n width: 60px;\r\n height: 60px;\r\n object-fit: cover;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n opacity: 0.6;\r\n}\r\n\r\n.thumbnail.active {\r\n border: 2px solid white;\r\n opacity: 1;\r\n}\r\n";
|
|
51
51
|
styleInject(css_248z$1);
|
|
52
52
|
|
|
53
53
|
var blcIconArrowRight = "blackarrow-Right.svg";
|
|
@@ -89,7 +89,7 @@ var locationIcon = "locationIconBlack.svg";
|
|
|
89
89
|
var css_248z = ".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";
|
|
90
90
|
styleInject(css_248z);
|
|
91
91
|
|
|
92
|
-
function PropertyDetailsHeader() {
|
|
92
|
+
function PropertyDetailsHeader(props) {
|
|
93
93
|
var _a = useState(false), showPopUp = _a[0], setShowPopUp = _a[1];
|
|
94
94
|
var handlePopUp = function () {
|
|
95
95
|
setShowPopUp(!showPopUp);
|
|
@@ -98,7 +98,8 @@ function PropertyDetailsHeader() {
|
|
|
98
98
|
React.createElement("div", { className: "header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 " },
|
|
99
99
|
React.createElement("strong", null, "Einziehen ohne einen Pinselstrich - Kernsaniertes Einfamilienhaus in top Lage")),
|
|
100
100
|
React.createElement("div", { className: "header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4" },
|
|
101
|
-
React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "vector me-2" })
|
|
101
|
+
React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "vector me-2" }),
|
|
102
|
+
React.createElement("div", { className: "propText text-truncate col-lg-6 col-md-6 d-flex align-items-center" }, props.property.city)),
|
|
102
103
|
React.createElement("div", { className: "d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4" },
|
|
103
104
|
React.createElement("img", { src: ShareIcon, alt: "Location Icon", className: "v_share me-3", onClick: handlePopUp })),
|
|
104
105
|
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" })));
|
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/blackarrow-Right.svg","../src/assets/Images/blckarrow-Left.svg","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg"],"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 \"blackarrow-Right.svg\"","export default \"blckarrow-Left.svg\"","export default \"icon_share_1.svg\"","export default \"locationIconBlack.svg\""],"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,wBAAe;;ACAf,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,gBAAe;;ACAf,mBAAe
|
|
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/blackarrow-Right.svg","../src/assets/Images/blckarrow-Left.svg","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg"],"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 \"blackarrow-Right.svg\"","export default \"blckarrow-Left.svg\"","export default \"icon_share_1.svg\"","export default \"locationIconBlack.svg\""],"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,wBAAe;;ACAf,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,gBAAe;;ACAf,mBAAe;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[1]}
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ var Popup = function (_a) {
|
|
|
49
49
|
children)));
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
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";
|
|
52
|
+
var css_248z$1 = ".popup-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 10000;\r\n}\r\n\r\n.popup-container {\r\n background-color: transparent;\r\n border-radius: 8px;\r\n max-width: 90%;\r\n max-height: 90%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n position: relative;\r\n}\r\n\r\n.popup-header {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n padding: 1rem;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.popup-title {\r\n color: white;\r\n font-size: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.btn-close {\r\n position: absolute;\r\n right: 1rem;\r\n top: 1rem;\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 24px;\r\n cursor: pointer;\r\n}\r\n\r\n.popup-body {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n position: relative;\r\n flex: 1;\r\n}\r\n\r\n.main-image {\r\n max-width: 100%;\r\n max-height: 80vh;\r\n border-radius: 8px;\r\n}\r\n\r\n.btn-prev,\r\n.btn-next {\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 48px;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.btn-prev {\r\n left: 10px;\r\n}\r\n\r\n.btn-next {\r\n right: 10px;\r\n}\r\n\r\n.popup-thumbnails {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 1rem;\r\n}\r\n\r\n.thumbnail {\r\n width: 60px;\r\n height: 60px;\r\n object-fit: cover;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n opacity: 0.6;\r\n}\r\n\r\n.thumbnail.active {\r\n border: 2px solid white;\r\n opacity: 1;\r\n}\r\n";
|
|
53
53
|
styleInject(css_248z$1);
|
|
54
54
|
|
|
55
55
|
var blcIconArrowRight = "blackarrow-Right.svg";
|
|
@@ -91,7 +91,7 @@ var locationIcon = "locationIconBlack.svg";
|
|
|
91
91
|
var css_248z = ".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";
|
|
92
92
|
styleInject(css_248z);
|
|
93
93
|
|
|
94
|
-
function PropertyDetailsHeader() {
|
|
94
|
+
function PropertyDetailsHeader(props) {
|
|
95
95
|
var _a = React.useState(false), showPopUp = _a[0], setShowPopUp = _a[1];
|
|
96
96
|
var handlePopUp = function () {
|
|
97
97
|
setShowPopUp(!showPopUp);
|
|
@@ -100,7 +100,8 @@ function PropertyDetailsHeader() {
|
|
|
100
100
|
React.createElement("div", { className: "header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 " },
|
|
101
101
|
React.createElement("strong", null, "Einziehen ohne einen Pinselstrich - Kernsaniertes Einfamilienhaus in top Lage")),
|
|
102
102
|
React.createElement("div", { className: "header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4" },
|
|
103
|
-
React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "vector me-2" })
|
|
103
|
+
React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "vector me-2" }),
|
|
104
|
+
React.createElement("div", { className: "propText text-truncate col-lg-6 col-md-6 d-flex align-items-center" }, props.property.city)),
|
|
104
105
|
React.createElement("div", { className: "d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4" },
|
|
105
106
|
React.createElement("img", { src: ShareIcon, alt: "Location Icon", className: "v_share me-3", onClick: handlePopUp })),
|
|
106
107
|
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" })));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/assets/images/blackarrow-Right.svg","../src/assets/Images/blckarrow-Left.svg","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg"],"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 \"blackarrow-Right.svg\"","export default \"blckarrow-Left.svg\"","export default \"icon_share_1.svg\"","export default \"locationIconBlack.svg\""],"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,wBAAe;;ACAf,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,gBAAe;;ACAf,mBAAe
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/assets/images/icon_close_2.png","../node_modules/style-inject/dist/style-inject.es.js","../src/assets/images/blackarrow-Right.svg","../src/assets/Images/blckarrow-Left.svg","../src/assets/images/icon_share_1.svg","../src/assets/images/locationIconBlack.svg"],"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 \"blackarrow-Right.svg\"","export default \"blckarrow-Left.svg\"","export default \"icon_share_1.svg\"","export default \"locationIconBlack.svg\""],"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,wBAAe;;ACAf,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAf,gBAAe;;ACAf,mBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[1]}
|
package/package.json
CHANGED
package/rollup.config.mjs
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import typescript from "rollup-plugin-typescript2";
|
|
2
|
-
import url from "@rollup/plugin-url";
|
|
3
|
-
import postcss from "rollup-plugin-postcss";
|
|
4
|
-
import copy from 'rollup-plugin-copy';
|
|
5
|
-
import pkg from "./package.json" assert { type: "json" };
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
input: "src/index.tsx",
|
|
9
|
-
output: [
|
|
10
|
-
{
|
|
11
|
-
file: pkg.main,
|
|
12
|
-
format: "cjs",
|
|
13
|
-
sourcemap: true,
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
file: pkg.module,
|
|
17
|
-
format: "es",
|
|
18
|
-
sourcemap: true,
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
external: ["react", "react-dom"],
|
|
22
|
-
plugins: [
|
|
23
|
-
typescript(),
|
|
24
|
-
postcss({
|
|
25
|
-
extensions: [".css"],
|
|
26
|
-
}),
|
|
27
|
-
url({
|
|
28
|
-
include: ['**/*.svg', '**/*.png', '**/*.jpg', '**/*.jpeg', '**/*.gif'],
|
|
29
|
-
limit: 0,
|
|
30
|
-
emitFiles: true,
|
|
31
|
-
fileName: '[name][extname]',
|
|
32
|
-
destDir: 'dist/assets/images',
|
|
33
|
-
}),
|
|
34
|
-
copy({
|
|
35
|
-
targets: [
|
|
36
|
-
{ src: 'src/assets/images/*', dest: 'dist/assets/images' }
|
|
37
|
-
]
|
|
38
|
-
})
|
|
39
|
-
],
|
|
40
|
-
};
|
|
1
|
+
import typescript from "rollup-plugin-typescript2";
|
|
2
|
+
import url from "@rollup/plugin-url";
|
|
3
|
+
import postcss from "rollup-plugin-postcss";
|
|
4
|
+
import copy from 'rollup-plugin-copy';
|
|
5
|
+
import pkg from "./package.json" assert { type: "json" };
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
input: "src/index.tsx",
|
|
9
|
+
output: [
|
|
10
|
+
{
|
|
11
|
+
file: pkg.main,
|
|
12
|
+
format: "cjs",
|
|
13
|
+
sourcemap: true,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
file: pkg.module,
|
|
17
|
+
format: "es",
|
|
18
|
+
sourcemap: true,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
external: ["react", "react-dom"],
|
|
22
|
+
plugins: [
|
|
23
|
+
typescript(),
|
|
24
|
+
postcss({
|
|
25
|
+
extensions: [".css"],
|
|
26
|
+
}),
|
|
27
|
+
url({
|
|
28
|
+
include: ['**/*.svg', '**/*.png', '**/*.jpg', '**/*.jpeg', '**/*.gif'],
|
|
29
|
+
limit: 0,
|
|
30
|
+
emitFiles: true,
|
|
31
|
+
fileName: '[name][extname]',
|
|
32
|
+
destDir: 'dist/assets/images',
|
|
33
|
+
}),
|
|
34
|
+
copy({
|
|
35
|
+
targets: [
|
|
36
|
+
{ src: 'src/assets/images/*', dest: 'dist/assets/images' }
|
|
37
|
+
]
|
|
38
|
+
})
|
|
39
|
+
],
|
|
40
|
+
};
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
.popup-overlay {
|
|
2
|
-
position: fixed;
|
|
3
|
-
top: 0;
|
|
4
|
-
left: 0;
|
|
5
|
-
right: 0;
|
|
6
|
-
bottom: 0;
|
|
7
|
-
background-color: rgba(0, 0, 0, 0.7);
|
|
8
|
-
display: flex;
|
|
9
|
-
justify-content: center;
|
|
10
|
-
align-items: center;
|
|
11
|
-
z-index: 10000;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.popup-container {
|
|
15
|
-
background-color: transparent;
|
|
16
|
-
border-radius: 8px;
|
|
17
|
-
max-width: 90%;
|
|
18
|
-
max-height: 90%;
|
|
19
|
-
display: flex;
|
|
20
|
-
flex-direction: column;
|
|
21
|
-
align-items: center;
|
|
22
|
-
position: relative;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.popup-header {
|
|
26
|
-
display: flex;
|
|
27
|
-
justify-content: center;
|
|
28
|
-
align-items: center;
|
|
29
|
-
width: 100%;
|
|
30
|
-
padding: 1rem;
|
|
31
|
-
position: absolute;
|
|
32
|
-
top: 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.popup-title {
|
|
36
|
-
color: white;
|
|
37
|
-
font-size: 24px;
|
|
38
|
-
font-weight: bold;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.btn-close {
|
|
42
|
-
position: absolute;
|
|
43
|
-
right: 1rem;
|
|
44
|
-
top: 1rem;
|
|
45
|
-
background: none;
|
|
46
|
-
border: none;
|
|
47
|
-
color: white;
|
|
48
|
-
font-size: 24px;
|
|
49
|
-
cursor: pointer;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.popup-body {
|
|
53
|
-
display: flex;
|
|
54
|
-
justify-content: center;
|
|
55
|
-
align-items: center;
|
|
56
|
-
padding: 1rem;
|
|
57
|
-
position: relative;
|
|
58
|
-
flex: 1;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.main-image {
|
|
62
|
-
max-width: 100%;
|
|
63
|
-
max-height: 80vh;
|
|
64
|
-
border-radius: 8px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.btn-prev,
|
|
68
|
-
.btn-next {
|
|
69
|
-
background: none;
|
|
70
|
-
border: none;
|
|
71
|
-
color: white;
|
|
72
|
-
font-size: 48px;
|
|
73
|
-
cursor: pointer;
|
|
74
|
-
position: absolute;
|
|
75
|
-
top: 50%;
|
|
76
|
-
transform: translateY(-50%);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.btn-prev {
|
|
80
|
-
left: 10px;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.btn-next {
|
|
84
|
-
right: 10px;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.popup-thumbnails {
|
|
88
|
-
display: flex;
|
|
89
|
-
justify-content: center;
|
|
90
|
-
align-items: center;
|
|
91
|
-
gap: 10px;
|
|
92
|
-
padding: 1rem;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.thumbnail {
|
|
96
|
-
width: 60px;
|
|
97
|
-
height: 60px;
|
|
98
|
-
object-fit: cover;
|
|
99
|
-
border-radius: 8px;
|
|
100
|
-
cursor: pointer;
|
|
101
|
-
opacity: 0.6;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.thumbnail.active {
|
|
105
|
-
border: 2px solid white;
|
|
106
|
-
opacity: 1;
|
|
107
|
-
}
|
|
1
|
+
.popup-overlay {
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
right: 0;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
background-color: rgba(0, 0, 0, 0.7);
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
align-items: center;
|
|
11
|
+
z-index: 10000;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.popup-container {
|
|
15
|
+
background-color: transparent;
|
|
16
|
+
border-radius: 8px;
|
|
17
|
+
max-width: 90%;
|
|
18
|
+
max-height: 90%;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
align-items: center;
|
|
22
|
+
position: relative;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.popup-header {
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
align-items: center;
|
|
29
|
+
width: 100%;
|
|
30
|
+
padding: 1rem;
|
|
31
|
+
position: absolute;
|
|
32
|
+
top: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.popup-title {
|
|
36
|
+
color: white;
|
|
37
|
+
font-size: 24px;
|
|
38
|
+
font-weight: bold;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.btn-close {
|
|
42
|
+
position: absolute;
|
|
43
|
+
right: 1rem;
|
|
44
|
+
top: 1rem;
|
|
45
|
+
background: none;
|
|
46
|
+
border: none;
|
|
47
|
+
color: white;
|
|
48
|
+
font-size: 24px;
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.popup-body {
|
|
53
|
+
display: flex;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
align-items: center;
|
|
56
|
+
padding: 1rem;
|
|
57
|
+
position: relative;
|
|
58
|
+
flex: 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.main-image {
|
|
62
|
+
max-width: 100%;
|
|
63
|
+
max-height: 80vh;
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.btn-prev,
|
|
68
|
+
.btn-next {
|
|
69
|
+
background: none;
|
|
70
|
+
border: none;
|
|
71
|
+
color: white;
|
|
72
|
+
font-size: 48px;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
position: absolute;
|
|
75
|
+
top: 50%;
|
|
76
|
+
transform: translateY(-50%);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.btn-prev {
|
|
80
|
+
left: 10px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.btn-next {
|
|
84
|
+
right: 10px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.popup-thumbnails {
|
|
88
|
+
display: flex;
|
|
89
|
+
justify-content: center;
|
|
90
|
+
align-items: center;
|
|
91
|
+
gap: 10px;
|
|
92
|
+
padding: 1rem;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.thumbnail {
|
|
96
|
+
width: 60px;
|
|
97
|
+
height: 60px;
|
|
98
|
+
object-fit: cover;
|
|
99
|
+
border-radius: 8px;
|
|
100
|
+
cursor: pointer;
|
|
101
|
+
opacity: 0.6;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.thumbnail.active {
|
|
105
|
+
border: 2px solid white;
|
|
106
|
+
opacity: 1;
|
|
107
|
+
}
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import "bootstrap/dist/css/bootstrap.min.css";
|
|
3
|
-
import "./ImageListPopup.css";
|
|
4
|
-
import blcIconArrowRight from "../../assets/images/blackarrow-Right.svg";
|
|
5
|
-
import blcIconArrowLeft from "../../assets/Images/blckarrow-Left.svg";
|
|
6
|
-
|
|
7
|
-
interface Image {
|
|
8
|
-
src: string;
|
|
9
|
-
title: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface ImageListPopupProps {
|
|
13
|
-
images: Image[];
|
|
14
|
-
onClose: () => void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const ImageListPopup: React.FC<ImageListPopupProps> = ({ images, onClose }) => {
|
|
18
|
-
const [currentIndex, setCurrentIndex] = useState(0);
|
|
19
|
-
|
|
20
|
-
const handlePrevious = () => {
|
|
21
|
-
setCurrentIndex((prevIndex) => (prevIndex > 0 ? prevIndex - 1 : prevIndex));
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const handleNext = () => {
|
|
25
|
-
setCurrentIndex((prevIndex) =>
|
|
26
|
-
prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex,
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const handleThumbnailClick = (index: number) => {
|
|
31
|
-
setCurrentIndex(index);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
-
<div className="popup-overlay">
|
|
36
|
-
<div className="popup-container">
|
|
37
|
-
<div className="popup-header">
|
|
38
|
-
<span className="popup-title">{images[currentIndex].title}</span>
|
|
39
|
-
<button className="btn-close" onClick={onClose}></button>
|
|
40
|
-
</div>
|
|
41
|
-
<div className="popup-body">
|
|
42
|
-
<div
|
|
43
|
-
className="rounded-circle border btn-prev"
|
|
44
|
-
role="button"
|
|
45
|
-
onClick={handlePrevious}
|
|
46
|
-
>
|
|
47
|
-
<img
|
|
48
|
-
src={blcIconArrowLeft}
|
|
49
|
-
className="blackArrow"
|
|
50
|
-
alt="Left Arrow"
|
|
51
|
-
></img>
|
|
52
|
-
</div>
|
|
53
|
-
{/*<button*/}
|
|
54
|
-
{/* className="btn-prev"*/}
|
|
55
|
-
{/* onClick={handlePrevious}*/}
|
|
56
|
-
{/* disabled={currentIndex === 0}*/}
|
|
57
|
-
{/*>*/}
|
|
58
|
-
{/* <*/}
|
|
59
|
-
{/*</button>*/}
|
|
60
|
-
<img
|
|
61
|
-
src={images[currentIndex].src}
|
|
62
|
-
alt={images[currentIndex].title}
|
|
63
|
-
className="main-image"
|
|
64
|
-
/>
|
|
65
|
-
<div
|
|
66
|
-
className="rounded-circle border btn-next"
|
|
67
|
-
role="button"
|
|
68
|
-
onClick={handleNext}
|
|
69
|
-
>
|
|
70
|
-
<img
|
|
71
|
-
src={blcIconArrowRight}
|
|
72
|
-
className="blackArrow"
|
|
73
|
-
alt="Right Arrow"
|
|
74
|
-
></img>
|
|
75
|
-
</div>
|
|
76
|
-
{/*<button*/}
|
|
77
|
-
{/* className="btn-next"*/}
|
|
78
|
-
{/* onClick={handleNext}*/}
|
|
79
|
-
{/* disabled={currentIndex === images.length - 1}*/}
|
|
80
|
-
{/*>*/}
|
|
81
|
-
{/* >*/}
|
|
82
|
-
{/*</button>*/}
|
|
83
|
-
</div>
|
|
84
|
-
<div className="popup-thumbnails">
|
|
85
|
-
{images.map((image, index) => (
|
|
86
|
-
<img
|
|
87
|
-
key={index}
|
|
88
|
-
src={image.src}
|
|
89
|
-
alt={image.title}
|
|
90
|
-
className={`thumbnail ${index === currentIndex ? "active" : ""}`}
|
|
91
|
-
onClick={() => handleThumbnailClick(index)}
|
|
92
|
-
/>
|
|
93
|
-
))}
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
export default ImageListPopup;
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import "bootstrap/dist/css/bootstrap.min.css";
|
|
3
|
+
import "./ImageListPopup.css";
|
|
4
|
+
import blcIconArrowRight from "../../assets/images/blackarrow-Right.svg";
|
|
5
|
+
import blcIconArrowLeft from "../../assets/Images/blckarrow-Left.svg";
|
|
6
|
+
|
|
7
|
+
interface Image {
|
|
8
|
+
src: string;
|
|
9
|
+
title: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface ImageListPopupProps {
|
|
13
|
+
images: Image[];
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const ImageListPopup: React.FC<ImageListPopupProps> = ({ images, onClose }) => {
|
|
18
|
+
const [currentIndex, setCurrentIndex] = useState(0);
|
|
19
|
+
|
|
20
|
+
const handlePrevious = () => {
|
|
21
|
+
setCurrentIndex((prevIndex) => (prevIndex > 0 ? prevIndex - 1 : prevIndex));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const handleNext = () => {
|
|
25
|
+
setCurrentIndex((prevIndex) =>
|
|
26
|
+
prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex,
|
|
27
|
+
);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const handleThumbnailClick = (index: number) => {
|
|
31
|
+
setCurrentIndex(index);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<div className="popup-overlay">
|
|
36
|
+
<div className="popup-container">
|
|
37
|
+
<div className="popup-header">
|
|
38
|
+
<span className="popup-title">{images[currentIndex].title}</span>
|
|
39
|
+
<button className="btn-close" onClick={onClose}></button>
|
|
40
|
+
</div>
|
|
41
|
+
<div className="popup-body">
|
|
42
|
+
<div
|
|
43
|
+
className="rounded-circle border btn-prev"
|
|
44
|
+
role="button"
|
|
45
|
+
onClick={handlePrevious}
|
|
46
|
+
>
|
|
47
|
+
<img
|
|
48
|
+
src={blcIconArrowLeft}
|
|
49
|
+
className="blackArrow"
|
|
50
|
+
alt="Left Arrow"
|
|
51
|
+
></img>
|
|
52
|
+
</div>
|
|
53
|
+
{/*<button*/}
|
|
54
|
+
{/* className="btn-prev"*/}
|
|
55
|
+
{/* onClick={handlePrevious}*/}
|
|
56
|
+
{/* disabled={currentIndex === 0}*/}
|
|
57
|
+
{/*>*/}
|
|
58
|
+
{/* <*/}
|
|
59
|
+
{/*</button>*/}
|
|
60
|
+
<img
|
|
61
|
+
src={images[currentIndex].src}
|
|
62
|
+
alt={images[currentIndex].title}
|
|
63
|
+
className="main-image"
|
|
64
|
+
/>
|
|
65
|
+
<div
|
|
66
|
+
className="rounded-circle border btn-next"
|
|
67
|
+
role="button"
|
|
68
|
+
onClick={handleNext}
|
|
69
|
+
>
|
|
70
|
+
<img
|
|
71
|
+
src={blcIconArrowRight}
|
|
72
|
+
className="blackArrow"
|
|
73
|
+
alt="Right Arrow"
|
|
74
|
+
></img>
|
|
75
|
+
</div>
|
|
76
|
+
{/*<button*/}
|
|
77
|
+
{/* className="btn-next"*/}
|
|
78
|
+
{/* onClick={handleNext}*/}
|
|
79
|
+
{/* disabled={currentIndex === images.length - 1}*/}
|
|
80
|
+
{/*>*/}
|
|
81
|
+
{/* >*/}
|
|
82
|
+
{/*</button>*/}
|
|
83
|
+
</div>
|
|
84
|
+
<div className="popup-thumbnails">
|
|
85
|
+
{images.map((image, index) => (
|
|
86
|
+
<img
|
|
87
|
+
key={index}
|
|
88
|
+
src={image.src}
|
|
89
|
+
alt={image.title}
|
|
90
|
+
className={`thumbnail ${index === currentIndex ? "active" : ""}`}
|
|
91
|
+
onClick={() => handleThumbnailClick(index)}
|
|
92
|
+
/>
|
|
93
|
+
))}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export default ImageListPopup;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import closeIcon from "../../assets/images/icon_close_2.png";
|
|
3
|
-
import "./Popup.css";
|
|
4
|
-
|
|
5
|
-
interface PopupProps {
|
|
6
|
-
children: React.ReactNode;
|
|
7
|
-
onCloseClick: () => void;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
|
|
11
|
-
return (
|
|
12
|
-
<div className="popup-overlay">
|
|
13
|
-
<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">
|
|
14
|
-
<div className="end-0 top-0 position-absolute ">
|
|
15
|
-
<img
|
|
16
|
-
src={closeIcon}
|
|
17
|
-
alt="close"
|
|
18
|
-
className="closeIcon me-2"
|
|
19
|
-
onClick={onCloseClick}
|
|
20
|
-
/>
|
|
21
|
-
</div>
|
|
22
|
-
{children}
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default Popup;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import closeIcon from "../../assets/images/icon_close_2.png";
|
|
3
|
+
import "./Popup.css";
|
|
4
|
+
|
|
5
|
+
interface PopupProps {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
onCloseClick: () => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
|
|
11
|
+
return (
|
|
12
|
+
<div className="popup-overlay">
|
|
13
|
+
<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">
|
|
14
|
+
<div className="end-0 top-0 position-absolute ">
|
|
15
|
+
<img
|
|
16
|
+
src={closeIcon}
|
|
17
|
+
alt="close"
|
|
18
|
+
className="closeIcon me-2"
|
|
19
|
+
onClick={onCloseClick}
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
{children}
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default Popup;
|
|
@@ -1,70 +1,77 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
// import { FormattedMessage } from "react-intl";
|
|
3
|
-
import ShareIcon from "../../assets/images/icon_share_1.svg";
|
|
4
|
-
import locationIcon from "../../assets/images/locationIconBlack.svg";
|
|
5
|
-
// import PopUp from "../SharePopup/PopUp";
|
|
6
|
-
import "./PropertyDetailsHeader.css";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{property && (
|
|
48
|
-
<div className="propText col-lg-3 col-md-3 d-flex
|
|
49
|
-
{property
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<br />
|
|
63
|
-
<FormattedMessage id="
|
|
64
|
-
</div>
|
|
65
|
-
)}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
// import { FormattedMessage } from "react-intl";
|
|
3
|
+
import ShareIcon from "../../assets/images/icon_share_1.svg";
|
|
4
|
+
import locationIcon from "../../assets/images/locationIconBlack.svg";
|
|
5
|
+
// import PopUp from "../SharePopup/PopUp";
|
|
6
|
+
import "./PropertyDetailsHeader.css";
|
|
7
|
+
|
|
8
|
+
interface PopupProps {
|
|
9
|
+
property: {
|
|
10
|
+
city: string;
|
|
11
|
+
price: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function PropertyDetailsHeader(props: PopupProps) {
|
|
16
|
+
const [showPopUp, setShowPopUp] = useState(false);
|
|
17
|
+
|
|
18
|
+
const handlePopUp = () => {
|
|
19
|
+
setShowPopUp(!showPopUp);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<div className="Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 ">
|
|
24
|
+
<div className="header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 ">
|
|
25
|
+
<strong>
|
|
26
|
+
Einziehen ohne einen Pinselstrich - Kernsaniertes Einfamilienhaus in
|
|
27
|
+
top Lage
|
|
28
|
+
</strong>
|
|
29
|
+
</div>
|
|
30
|
+
<div className="header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4">
|
|
31
|
+
<img src={locationIcon} alt="Location Icon" className="vector me-2" />
|
|
32
|
+
|
|
33
|
+
<div className="propText text-truncate col-lg-6 col-md-6 d-flex align-items-center">
|
|
34
|
+
{props.property.city}
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div className="d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4">
|
|
38
|
+
{/* <img src={Hearticon} alt="Location Icon" className="v_share me-3" /> */}
|
|
39
|
+
<img
|
|
40
|
+
src={ShareIcon}
|
|
41
|
+
alt="Location Icon"
|
|
42
|
+
className="v_share me-3"
|
|
43
|
+
onClick={handlePopUp}
|
|
44
|
+
/>
|
|
45
|
+
</div>
|
|
46
|
+
<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">
|
|
47
|
+
{/* {property && (
|
|
48
|
+
<div className=" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center ">
|
|
49
|
+
{property?.evaluation?.askingPrice} € <br />
|
|
50
|
+
{property.city}
|
|
51
|
+
Kaufpreis
|
|
52
|
+
</div>
|
|
53
|
+
)}
|
|
54
|
+
{PopupProps && (
|
|
55
|
+
<div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
|
|
56
|
+
{property.constructedArea} m² <br />
|
|
57
|
+
<FormattedMessage id="LIVING_SPACE" />
|
|
58
|
+
</div>
|
|
59
|
+
)}
|
|
60
|
+
{property && (
|
|
61
|
+
<div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
|
|
62
|
+
{property.rooms} <br />
|
|
63
|
+
<FormattedMessage id="ROOMS" />
|
|
64
|
+
</div>
|
|
65
|
+
)}
|
|
66
|
+
{property && (
|
|
67
|
+
<div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
|
|
68
|
+
{property.propertyArea} m²
|
|
69
|
+
<br />
|
|
70
|
+
<FormattedMessage id="Grundstück" />
|
|
71
|
+
</div>
|
|
72
|
+
)} */}
|
|
73
|
+
</div>
|
|
74
|
+
{/*{showPopUp && <PopUp onClick={handlePopUp} />}*/}
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
Binary file
|