diff --git a/public/images/dubai-marina-floors.jpg b/public/images/dubai-marina-floors.jpg new file mode 100644 index 0000000..60ea756 Binary files /dev/null and b/public/images/dubai-marina-floors.jpg differ diff --git a/public/images/dubai-marina-floors.png b/public/images/dubai-marina-floors.png deleted file mode 100644 index 9c33bed..0000000 Binary files a/public/images/dubai-marina-floors.png and /dev/null differ diff --git a/public/images/floor-plans/dubai-marina/ground/content.jpg b/public/images/floor-plans/dubai-marina/ground/content.jpg new file mode 100644 index 0000000..f02d913 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/ground/content.jpg differ diff --git a/public/images/floor-plans/dubai-marina/ground/content.png b/public/images/floor-plans/dubai-marina/ground/content.png deleted file mode 100644 index ea089ea..0000000 Binary files a/public/images/floor-plans/dubai-marina/ground/content.png and /dev/null differ diff --git a/public/images/floor-plans/dubai-marina/podium/content1.jpg b/public/images/floor-plans/dubai-marina/podium/content1.jpg new file mode 100644 index 0000000..9cefd7e Binary files /dev/null and b/public/images/floor-plans/dubai-marina/podium/content1.jpg differ diff --git a/public/images/floor-plans/dubai-marina/podium/content1.png b/public/images/floor-plans/dubai-marina/podium/content1.png deleted file mode 100644 index b554e57..0000000 Binary files a/public/images/floor-plans/dubai-marina/podium/content1.png and /dev/null differ diff --git a/public/images/floor-plans/dubai-marina/podium/content2.jpg b/public/images/floor-plans/dubai-marina/podium/content2.jpg new file mode 100644 index 0000000..c45cb01 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/podium/content2.jpg differ diff --git a/public/images/floor-plans/dubai-marina/podium/content2.png b/public/images/floor-plans/dubai-marina/podium/content2.png deleted file mode 100644 index 449be4f..0000000 Binary files a/public/images/floor-plans/dubai-marina/podium/content2.png and /dev/null differ diff --git a/public/images/floor-plans/dubai-marina/podium/content3.jpg b/public/images/floor-plans/dubai-marina/podium/content3.jpg new file mode 100644 index 0000000..f82a51e Binary files /dev/null and b/public/images/floor-plans/dubai-marina/podium/content3.jpg differ diff --git a/public/images/floor-plans/dubai-marina/podium/content3.png b/public/images/floor-plans/dubai-marina/podium/content3.png deleted file mode 100644 index fb6adf9..0000000 Binary files a/public/images/floor-plans/dubai-marina/podium/content3.png and /dev/null differ diff --git a/public/images/floor-plans/dubai-marina/rooftop/content.jpg b/public/images/floor-plans/dubai-marina/rooftop/content.jpg new file mode 100644 index 0000000..b5e2e30 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/rooftop/content.jpg differ diff --git a/public/images/floor-plans/dubai-marina/rooftop/content.png b/public/images/floor-plans/dubai-marina/rooftop/content.png deleted file mode 100644 index 487ffd6..0000000 Binary files a/public/images/floor-plans/dubai-marina/rooftop/content.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content1.jpg b/public/images/floor-plans/marasi-drive/ground/content1.jpg new file mode 100644 index 0000000..d06a882 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content1.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content1.png b/public/images/floor-plans/marasi-drive/ground/content1.png deleted file mode 100644 index 5912128..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content1.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content2.jpg b/public/images/floor-plans/marasi-drive/ground/content2.jpg new file mode 100644 index 0000000..1123f2d Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content2.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content2.png b/public/images/floor-plans/marasi-drive/ground/content2.png deleted file mode 100644 index 2c4b549..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content2.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content3.jpg b/public/images/floor-plans/marasi-drive/ground/content3.jpg new file mode 100644 index 0000000..dee53a4 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content3.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content3.png b/public/images/floor-plans/marasi-drive/ground/content3.png deleted file mode 100644 index 6815dc3..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content3.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content4.jpg b/public/images/floor-plans/marasi-drive/ground/content4.jpg new file mode 100644 index 0000000..06ea856 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content4.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content4.png b/public/images/floor-plans/marasi-drive/ground/content4.png deleted file mode 100644 index 04202ec..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content4.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content5.jpg b/public/images/floor-plans/marasi-drive/ground/content5.jpg new file mode 100644 index 0000000..19db058 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content5.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content5.png b/public/images/floor-plans/marasi-drive/ground/content5.png deleted file mode 100644 index 2689bbf..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content5.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/ground/content6.jpg b/public/images/floor-plans/marasi-drive/ground/content6.jpg new file mode 100644 index 0000000..aff72c3 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground/content6.jpg differ diff --git a/public/images/floor-plans/marasi-drive/ground/content6.png b/public/images/floor-plans/marasi-drive/ground/content6.png deleted file mode 100644 index 5d67cdd..0000000 Binary files a/public/images/floor-plans/marasi-drive/ground/content6.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content1.jpg b/public/images/floor-plans/marasi-drive/podium/content1.jpg new file mode 100644 index 0000000..ef6d33f Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content1.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content1.png b/public/images/floor-plans/marasi-drive/podium/content1.png deleted file mode 100644 index 34534b1..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content1.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content10.jpg b/public/images/floor-plans/marasi-drive/podium/content10.jpg new file mode 100644 index 0000000..d9eaa71 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content10.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content10.png b/public/images/floor-plans/marasi-drive/podium/content10.png deleted file mode 100644 index 225b917..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content10.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content11.jpg b/public/images/floor-plans/marasi-drive/podium/content11.jpg new file mode 100644 index 0000000..04e5007 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content11.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content11.png b/public/images/floor-plans/marasi-drive/podium/content11.png deleted file mode 100644 index ceb2d1d..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content11.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content2.jpg b/public/images/floor-plans/marasi-drive/podium/content2.jpg new file mode 100644 index 0000000..7038a3e Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content2.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content2.png b/public/images/floor-plans/marasi-drive/podium/content2.png deleted file mode 100644 index fbec803..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content2.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content3.jpg b/public/images/floor-plans/marasi-drive/podium/content3.jpg new file mode 100644 index 0000000..3e2b8d8 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content3.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content3.png b/public/images/floor-plans/marasi-drive/podium/content3.png deleted file mode 100644 index ab581bc..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content3.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content4.jpg b/public/images/floor-plans/marasi-drive/podium/content4.jpg new file mode 100644 index 0000000..117344c Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content4.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content4.png b/public/images/floor-plans/marasi-drive/podium/content4.png deleted file mode 100644 index 50a572e..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content4.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content5.jpg b/public/images/floor-plans/marasi-drive/podium/content5.jpg new file mode 100644 index 0000000..c1d6661 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content5.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content5.png b/public/images/floor-plans/marasi-drive/podium/content5.png deleted file mode 100644 index 5915105..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content5.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content6.jpg b/public/images/floor-plans/marasi-drive/podium/content6.jpg new file mode 100644 index 0000000..eb9de18 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content6.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content6.png b/public/images/floor-plans/marasi-drive/podium/content6.png deleted file mode 100644 index 02b62b0..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content6.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content7.jpg b/public/images/floor-plans/marasi-drive/podium/content7.jpg new file mode 100644 index 0000000..942664b Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content7.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content7.png b/public/images/floor-plans/marasi-drive/podium/content7.png deleted file mode 100644 index 8f33a3a..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content7.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content8.jpg b/public/images/floor-plans/marasi-drive/podium/content8.jpg new file mode 100644 index 0000000..f799da5 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content8.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content8.png b/public/images/floor-plans/marasi-drive/podium/content8.png deleted file mode 100644 index 80bddcc..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content8.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/podium/content9.jpg b/public/images/floor-plans/marasi-drive/podium/content9.jpg new file mode 100644 index 0000000..8607def Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium/content9.jpg differ diff --git a/public/images/floor-plans/marasi-drive/podium/content9.png b/public/images/floor-plans/marasi-drive/podium/content9.png deleted file mode 100644 index 02cf0a2..0000000 Binary files a/public/images/floor-plans/marasi-drive/podium/content9.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/rooftop/content.jpg b/public/images/floor-plans/marasi-drive/rooftop/content.jpg new file mode 100644 index 0000000..996ded8 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/rooftop/content.jpg differ diff --git a/public/images/floor-plans/marasi-drive/rooftop/content.png b/public/images/floor-plans/marasi-drive/rooftop/content.png deleted file mode 100644 index d5a9e46..0000000 Binary files a/public/images/floor-plans/marasi-drive/rooftop/content.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content1.jpg b/public/images/floor-plans/marasi-drive/skygarden/content1.jpg new file mode 100644 index 0000000..670e2f6 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/skygarden/content1.jpg differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content1.png b/public/images/floor-plans/marasi-drive/skygarden/content1.png deleted file mode 100644 index 5eb6ff4..0000000 Binary files a/public/images/floor-plans/marasi-drive/skygarden/content1.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content2.jpg b/public/images/floor-plans/marasi-drive/skygarden/content2.jpg new file mode 100644 index 0000000..b7e40a9 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/skygarden/content2.jpg differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content2.png b/public/images/floor-plans/marasi-drive/skygarden/content2.png deleted file mode 100644 index 31b7be9..0000000 Binary files a/public/images/floor-plans/marasi-drive/skygarden/content2.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content3.jpg b/public/images/floor-plans/marasi-drive/skygarden/content3.jpg new file mode 100644 index 0000000..649c99e Binary files /dev/null and b/public/images/floor-plans/marasi-drive/skygarden/content3.jpg differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content3.png b/public/images/floor-plans/marasi-drive/skygarden/content3.png deleted file mode 100644 index 4d291a8..0000000 Binary files a/public/images/floor-plans/marasi-drive/skygarden/content3.png and /dev/null differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content4.jpg b/public/images/floor-plans/marasi-drive/skygarden/content4.jpg new file mode 100644 index 0000000..44e6536 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/skygarden/content4.jpg differ diff --git a/public/images/floor-plans/marasi-drive/skygarden/content4.png b/public/images/floor-plans/marasi-drive/skygarden/content4.png deleted file mode 100644 index da02509..0000000 Binary files a/public/images/floor-plans/marasi-drive/skygarden/content4.png and /dev/null differ diff --git a/public/images/map/clouds-mobile-old.png b/public/images/map/clouds-mobile-old.png deleted file mode 100644 index bd99f91..0000000 Binary files a/public/images/map/clouds-mobile-old.png and /dev/null differ diff --git a/public/images/map/clouds-original.png b/public/images/map/clouds-original.png deleted file mode 100644 index 5b9afad..0000000 Binary files a/public/images/map/clouds-original.png and /dev/null differ diff --git a/public/images/map/map-desktop-old.jpg b/public/images/map/map-desktop-old.jpg deleted file mode 100644 index eb84d36..0000000 Binary files a/public/images/map/map-desktop-old.jpg and /dev/null differ diff --git a/public/images/map/map-mobile-old.jpg b/public/images/map/map-mobile-old.jpg deleted file mode 100644 index 3fe1c08..0000000 Binary files a/public/images/map/map-mobile-old.jpg and /dev/null differ diff --git a/public/images/map/map-original-old.jpg b/public/images/map/map-original-old.jpg deleted file mode 100644 index a243b89..0000000 Binary files a/public/images/map/map-original-old.jpg and /dev/null differ diff --git a/public/images/marasi-drive-floors.jpg b/public/images/marasi-drive-floors.jpg new file mode 100644 index 0000000..3e0eeeb Binary files /dev/null and b/public/images/marasi-drive-floors.jpg differ diff --git a/public/images/marasi-drive-floors.png b/public/images/marasi-drive-floors.png deleted file mode 100644 index a5b60f4..0000000 Binary files a/public/images/marasi-drive-floors.png and /dev/null differ diff --git a/public/videos/About/IRTH 1_HIGHRES.mp4 b/public/videos/About/IRTH 1_HIGHRES.mp4 index 93466d5..318f1f2 100644 Binary files a/public/videos/About/IRTH 1_HIGHRES.mp4 and b/public/videos/About/IRTH 1_HIGHRES.mp4 differ diff --git a/public/videos/dubai-marina/GroundDubaiMarina.mp4 b/public/videos/dubai-marina/GroundDubaiMarina.mp4 index d8785a4..039b5f7 100644 Binary files a/public/videos/dubai-marina/GroundDubaiMarina.mp4 and b/public/videos/dubai-marina/GroundDubaiMarina.mp4 differ diff --git a/public/videos/dubai-marina/PodiumDubaiMarina.mp4 b/public/videos/dubai-marina/PodiumDubaiMarina.mp4 index 5a69d41..3e04bb7 100644 Binary files a/public/videos/dubai-marina/PodiumDubaiMarina.mp4 and b/public/videos/dubai-marina/PodiumDubaiMarina.mp4 differ diff --git a/public/videos/dubai-marina/SkyDubaiMarina.mp4 b/public/videos/dubai-marina/SkyDubaiMarina.mp4 index 1d53052..cf84ef0 100644 Binary files a/public/videos/dubai-marina/SkyDubaiMarina.mp4 and b/public/videos/dubai-marina/SkyDubaiMarina.mp4 differ diff --git a/public/videos/marasi-drive/GroundMarasiDrive.mp4 b/public/videos/marasi-drive/GroundMarasiDrive.mp4 index 6f2076a..55541de 100644 Binary files a/public/videos/marasi-drive/GroundMarasiDrive.mp4 and b/public/videos/marasi-drive/GroundMarasiDrive.mp4 differ diff --git a/public/videos/marasi-drive/Podium2MarasiDrive.mp4 b/public/videos/marasi-drive/Podium2MarasiDrive.mp4 deleted file mode 100644 index d5f338a..0000000 Binary files a/public/videos/marasi-drive/Podium2MarasiDrive.mp4 and /dev/null differ diff --git a/public/videos/marasi-drive/PodiumMarasiDrive.mp4 b/public/videos/marasi-drive/PodiumMarasiDrive.mp4 index d0b992c..a230ea4 100644 Binary files a/public/videos/marasi-drive/PodiumMarasiDrive.mp4 and b/public/videos/marasi-drive/PodiumMarasiDrive.mp4 differ diff --git a/public/videos/marasi-drive/RooftopMarasiDrive.mp4 b/public/videos/marasi-drive/RooftopMarasiDrive.mp4 index 286aa9f..06be7d6 100644 Binary files a/public/videos/marasi-drive/RooftopMarasiDrive.mp4 and b/public/videos/marasi-drive/RooftopMarasiDrive.mp4 differ diff --git a/public/videos/marasi-drive/SkyGardenMarasiDrive.mp4 b/public/videos/marasi-drive/SkyGardenMarasiDrive.mp4 index b002a8b..5dca56d 100644 Binary files a/public/videos/marasi-drive/SkyGardenMarasiDrive.mp4 and b/public/videos/marasi-drive/SkyGardenMarasiDrive.mp4 differ diff --git a/src/components/AmentitiesCard.tsx b/src/components/AmentitiesCard.tsx index 29d7fd3..b03037c 100644 --- a/src/components/AmentitiesCard.tsx +++ b/src/components/AmentitiesCard.tsx @@ -9,17 +9,17 @@ function AmentitiesBadge({ icon, title }: AmentitiesCardProps) { return (
{icon && ( -
+
{icon}
)} -

{title}

+

{title}

); } diff --git a/src/components/AmentitiesContentSlider.tsx b/src/components/AmentitiesContentSlider.tsx index 884c0af..d571377 100644 --- a/src/components/AmentitiesContentSlider.tsx +++ b/src/components/AmentitiesContentSlider.tsx @@ -27,43 +27,47 @@ function AmentitiesContentSlider({ srcs }: { srcs: string[] }) { return (
{srcs.map((src) => ( ))}
diff --git a/src/components/FloorPlanDubaiMarina.tsx b/src/components/FloorPlanDubaiMarina.tsx index a0c4512..20bebfb 100644 --- a/src/components/FloorPlanDubaiMarina.tsx +++ b/src/components/FloorPlanDubaiMarina.tsx @@ -3,6 +3,7 @@ import { dubaiMarinaMasks } from "../data/floor-plan-masks/dubai-marina"; import { Unit } from "../types/IUnit"; import { usePopupStore } from "../stores/usePopupStore"; import UnitPopup from "./UnitPopup"; +import { isMobile } from "react-device-detect"; interface FloorPlanDubaiMarinaProps { selectedFloor: string | null; @@ -67,11 +68,18 @@ function FloorPlanDubaiMarinaUnit({ }) { const { setPopup, setSide } = usePopupStore(); + const { setPosition } = usePopupStore(); + + function handleClick(unitNumber: string) { + window.open(`/complex/dubai-marina/${unitNumber}`, "_blank"); + } + function handleMouseEnter() { if (floor === null) return; setSide("top"); setPopup( + { - window.open(`/complex/dubai-marina/${unit.unitNo}`, "_blank"); + onClick={() => !isMobile && handleClick(unit.unitNo)} + onMouseEnter={!isMobile ? handleMouseEnter : undefined} + onMouseLeave={() => !isMobile && setPopup(null)} + onTouchStart={(e) => { + setPosition({ x: e.touches[0].clientX, y: e.touches[0].clientY }); + handleMouseEnter(); }} - onMouseEnter={handleMouseEnter} className="fill-transparent hover:fill-[#00BED7]/40 isolate cursor-pointer transition-colors" - onMouseLeave={() => { - setPopup(null); - setSide("left"); - }} d={d} /> diff --git a/src/components/FloorPlanMarasiDriveEast.tsx b/src/components/FloorPlanMarasiDriveEast.tsx index 425233c..9c2d555 100644 --- a/src/components/FloorPlanMarasiDriveEast.tsx +++ b/src/components/FloorPlanMarasiDriveEast.tsx @@ -3,6 +3,7 @@ import { floorPlanMarasiDriveEastMasks } from "../data/floor-plan-masks/marasi-d import { usePopupStore } from "../stores/usePopupStore"; import { Unit } from "../types/IUnit"; import UnitPopup from "./UnitPopup"; +import { isMobile } from "react-device-detect"; interface FloorPlanMarasiDriveEastProps { selectedFloor: string | null; @@ -1172,17 +1173,6 @@ function FloorPlanMarasiDriveEast({ ) )} - {/* {floorPlanMarasiDriveEastMasks.map( - ({ d, textTransform: { x, y } }, index) => ( - - ) - )} */} )} @@ -1208,13 +1198,14 @@ function MarasiDriveEastFloorPlanUnit({ window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); } - const { setPopup, setSide } = usePopupStore(); + const { setPopup, setSide, setPosition } = usePopupStore(); function handleMouseEnter() { if (floor === null) return; setSide("top"); setPopup( + handleClick(unit.unitNo)} - onMouseEnter={handleMouseEnter} - onMouseLeave={() => { - setPopup(null); - setSide("left"); + onClick={() => !isMobile && handleClick(unit.unitNo)} + onMouseEnter={!isMobile ? handleMouseEnter : undefined} + onMouseLeave={() => !isMobile && setPopup(null)} + onTouchStart={(e) => { + setPosition({ x: e.touches[0].clientX, y: e.touches[0].clientY }); + handleMouseEnter(); }} - // data-number={unit.unitNo} - // data-type={unit.unitType} d={d} className="fill-transparent hover:fill-[#00BED7]/20 transition-all cursor-pointer" /> diff --git a/src/components/FloorPlanMarasiDriveWestLower.tsx b/src/components/FloorPlanMarasiDriveWestLower.tsx index 4da30ed..1e06e73 100644 --- a/src/components/FloorPlanMarasiDriveWestLower.tsx +++ b/src/components/FloorPlanMarasiDriveWestLower.tsx @@ -3,6 +3,7 @@ import { floorPlanMarasiDriveWestLowerMasks } from "../data/floor-plan-masks/mar import { usePopupStore } from "../stores/usePopupStore"; import { Unit } from "../types/IUnit"; import UnitPopup from "./UnitPopup"; +import { isMobile } from "react-device-detect"; interface FloorPlanMarasiDriveEastProps { selectedFloor: string | null; @@ -1234,13 +1235,14 @@ function MarasiDriveWestLowerFloorPlanUnit({ window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); } - const { setPopup, setSide } = usePopupStore(); + const { setPopup, setSide, setPosition } = usePopupStore(); function handleMouseEnter() { if (floor === null) return; setSide("top"); setPopup( + handleClick(unit.unitNo)} - onMouseEnter={handleMouseEnter} - onMouseLeave={() => setPopup(null)} - // data-number={unit.unitNo} - // data-type={unit.unitType} + onClick={() => !isMobile && handleClick(unit.unitNo)} + onMouseEnter={!isMobile ? handleMouseEnter : undefined} + onMouseLeave={() => !isMobile && setPopup(null)} + onTouchStart={(e) => { + setPosition({ x: e.touches[0].clientX, y: e.touches[0].clientY }); + handleMouseEnter(); + }} d={d} - className="fill-transparent hover:fill-[#00BED7]/20 transition-all cursor-pointer" + className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" /> ); diff --git a/src/components/FloorPlanMarasiDriveWestUpper.tsx b/src/components/FloorPlanMarasiDriveWestUpper.tsx index 2f5a629..0930563 100644 --- a/src/components/FloorPlanMarasiDriveWestUpper.tsx +++ b/src/components/FloorPlanMarasiDriveWestUpper.tsx @@ -6,6 +6,7 @@ import { formattedUnitTypes } from "../data/formattedUnitTypes"; import { usePopupStore } from "../stores/usePopupStore"; import { Unit } from "../types/IUnit"; import UnitPopup from "./UnitPopup"; +import { isMobile } from "react-device-detect"; interface FloorPlanMarasiDriveEastProps { selectedFloor: string | null; @@ -1216,6 +1217,7 @@ function MarasiDriveWestUpperFloorPlanUnit({ setSide("top"); setPopup( + handleClick(unit.unitNo)} - onMouseEnter={handleMouseEnter} - onMouseLeave={() => setPopup(null)} - // data-number={unit.unitNo} - // data-type={unit.unitType} + onClick={() => !isMobile && handleClick(unit.unitNo)} + onMouseEnter={!isMobile ? handleMouseEnter : undefined} + onMouseLeave={() => !isMobile && setPopup(null)} + onTouchStart={(e) => { + setPosition({ x: e.touches[0].clientX, y: e.touches[0].clientY }); + handleMouseEnter(); + }} d={d} className="fill-transparent hover:fill-[#00BED7]/20 transition-all cursor-pointer" /> diff --git a/src/components/FloorPopup.tsx b/src/components/FloorPopup.tsx index 56db6f8..f69a540 100644 --- a/src/components/FloorPopup.tsx +++ b/src/components/FloorPopup.tsx @@ -1,4 +1,5 @@ import { formattedUnitTypes } from "../data/formattedUnitTypes"; +import { usePopupStore } from "../stores/usePopupStore"; import { FloorsData } from "./FloorSelect"; import ArrowRightIcon from "./icons/ArrowRightIcon"; import HumanIcon from "./icons/HumanIcon"; @@ -12,6 +13,8 @@ interface FloorPopupProps { } function FloorPopup({ title, complexName, data, onSelect }: FloorPopupProps) { + const { setPopup } = usePopupStore(); + return (
@@ -97,7 +100,10 @@ function FloorPopup({ title, complexName, data, onSelect }: FloorPopupProps) { -

+

ROVE Home {markers.find((marker) => marker.name === complexName)?.title}

-
+
+
); } diff --git a/src/components/FloorSidebar.tsx b/src/components/FloorSidebar.tsx index 0106768..c90f9f5 100644 --- a/src/components/FloorSidebar.tsx +++ b/src/components/FloorSidebar.tsx @@ -1,6 +1,7 @@ import clsx from "clsx"; import Button from "./ui/Button"; import CloseIcon from "./icons/CloseIcon"; +import { usePopupStore } from "../stores/usePopupStore"; interface FloorSidebarProps { isOpen: boolean; @@ -13,10 +14,13 @@ function FloorSidebar({ children, onClose, }: FloorSidebarProps) { + const { setPopup } = usePopupStore(); + return (
setPopup(null)} className={clsx( - "2xl:w-1/2 w-full h-full 2xl:max-h-full max-h-[calc(100%-24px)] overflow-y-auto absolute right-0 2xl:top-0 top-6 bg-white transition-transform duration-300 p-[1.667vw]", + "2xl:w-1/2 w-full h-full 2xl:max-h-full md:max-2xl:max-h-[calc(100%-24px)] max-h-[calc(100%-16px)] max-2xl:rounded-t-2xl overflow-y-auto absolute right-0 2xl:top-0 md:max-2xl:top-6 top-4 bg-white transition-transform duration-300 2xl:p-[1.667vw] p-6", isOpen ? "2xl:translate-x-0 max-2xl:translate-y-0" : "2xl:translate-x-full max-2xl:translate-y-full" @@ -25,10 +29,10 @@ function FloorSidebar({ {children} diff --git a/src/components/Map.tsx b/src/components/Map.tsx index 7077f08..dbd2dda 100644 --- a/src/components/Map.tsx +++ b/src/components/Map.tsx @@ -17,6 +17,8 @@ import { isMobile } from "react-device-detect"; import useWindowSize from "../hooks/useWindowSize"; import TouchIcon from "./icons/map/TouchIcon"; import SelectedComplexCard from "./SelectedComplexCard"; +import MoreIcon from "./icons/MoreIcon"; +import Button from "./ui/Button"; interface Position { x: number; @@ -576,7 +578,7 @@ function Map({ maxZoom = 1 }: MapProps) { map
*/} -
+
+ {isMobile && hoveredMarker && ( diff --git a/src/components/ModalContainer.tsx b/src/components/ModalContainer.tsx index 7a95923..3ef02d2 100644 --- a/src/components/ModalContainer.tsx +++ b/src/components/ModalContainer.tsx @@ -51,7 +51,7 @@ function ModalContainer() { >
@@ -62,7 +62,7 @@ function ModalContainer() { />
{modal}
- +

Virtual Tour

@@ -64,7 +64,7 @@ function SelectedComplexCard({
{unitTypes?.map((unitType) => (
-
+
4

diff --git a/src/components/SequenceSlider.tsx b/src/components/SequenceSlider.tsx index 503f248..82f79ab 100644 --- a/src/components/SequenceSlider.tsx +++ b/src/components/SequenceSlider.tsx @@ -13,6 +13,7 @@ import PrivacyPolicyButton from "./PrivacyPolicyButton"; import DisclaimerButton from "./DisclaimerButton"; import { markers } from "../data/markers"; import { masks } from "../data/masks"; +import MoreIcon from "./icons/MoreIcon"; interface SequenceSliderProps { complexName: string; @@ -171,7 +172,7 @@ function SequenceSlider({ complexName }: SequenceSliderProps) { Select a Floor -

+
+ )}
diff --git a/src/components/UnitPopup.tsx b/src/components/UnitPopup.tsx index 41aadb5..bd7ad68 100644 --- a/src/components/UnitPopup.tsx +++ b/src/components/UnitPopup.tsx @@ -1,5 +1,8 @@ import { formattedUnitTypes } from "../data/formattedUnitTypes"; +import ArrowRightIcon from "./icons/ArrowRightIcon"; import HumanIcon from "./icons/HumanIcon"; +import Button from "./ui/Button"; +import { usePopupStore } from "../stores/usePopupStore"; interface UnitPopupProps { unitType: string; @@ -10,6 +13,7 @@ interface UnitPopupProps { suitesArea: number; balconyArea: number; price: number; + complexName: string; } function UnitPopup({ @@ -21,7 +25,10 @@ function UnitPopup({ suitesArea, balconyArea, price, + complexName, }: UnitPopupProps) { + const { setPopup } = usePopupStore(); + return (
@@ -69,6 +76,19 @@ function UnitPopup({ minimumFractionDigits: 0, }).format(price)}`}

+
); } diff --git a/src/components/UnitTypeBadge.tsx b/src/components/UnitTypeBadge.tsx index 6238583..4ead7c1 100644 --- a/src/components/UnitTypeBadge.tsx +++ b/src/components/UnitTypeBadge.tsx @@ -6,11 +6,11 @@ interface UnitTypeBadgeProps { function UnitTypeBadge({ type, count }: UnitTypeBadgeProps) { if (count === 0) return null; return ( -
-
+
+

{count}

-

{type}

+

{type}

); } diff --git a/src/components/VideoModal.tsx b/src/components/VideoModal.tsx index 6182f32..ad7f1a8 100644 --- a/src/components/VideoModal.tsx +++ b/src/components/VideoModal.tsx @@ -1,12 +1,13 @@ function VideoModal({ src }: { src: string }) { return ( -
+
); diff --git a/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx index 9965254..c7b083e 100644 --- a/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx +++ b/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx @@ -9,13 +9,13 @@ function GroundDubaiMarina() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Ground Level

-
+
podium
-
+

Amenities

-
+
{[ "Residential Entrance", "Multifunctional Feature Staircase", @@ -62,8 +62,8 @@ function GroundDubaiMarina() {
diff --git a/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx index ff8dcd4..f7c1eb5 100644 --- a/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx +++ b/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx @@ -11,17 +11,17 @@ function PodiumDubaiMarina() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Podium

-
+
-
+
podium
-
+

Indoor Amenities

-
+
{[ "Multipurpose Hall", "Gaming Lounge", @@ -61,10 +61,10 @@ function PodiumDubaiMarina() { ))}
-
-
+
+

Outdoor Amenities

-
+
{[ "Semi-Olympic Leisure Pool", "Outdoor Cinema & Amphitheatre", @@ -86,9 +86,9 @@ function PodiumDubaiMarina() {
diff --git a/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx index 5c78ab6..02c13bf 100644 --- a/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx +++ b/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx @@ -9,13 +9,13 @@ function RooftopDubaiMarina() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Sky 44 - Rooftop

-
+
podium
-
+

Amenities

-
+
{[ "Sky Viewing Lounges", "Convertible Indoor Infinity Pool", @@ -62,8 +62,8 @@ function RooftopDubaiMarina() {
diff --git a/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx index 4f7f4bb..52653e7 100644 --- a/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx @@ -31,7 +31,7 @@ function GroundMarasiDrive() { /> @@ -72,12 +72,12 @@ function GroundMarasiDrive() {
diff --git a/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx index bb245c9..276121c 100644 --- a/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx @@ -37,17 +37,17 @@ function PodiumMarasiDrive() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Podium Level

-
+
-
+
podium
-
+

Indoor Amenties

-
+
} title="Indoor Lounge" /> } title="Monkey Bars" /> } title="Karaoke Room" /> @@ -104,9 +104,9 @@ function PodiumMarasiDrive() {

-
+

Outdoor Amenties

-
+
} title="Urban Beach Pool" @@ -152,17 +152,17 @@ function PodiumMarasiDrive() {
diff --git a/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx index 08d19a4..3a56580 100644 --- a/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx @@ -19,13 +19,13 @@ function RooftopMarasiDrive() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Rooftop

-
+
podium
-
+

Amenties

-
+
} title="Stargazing Point" /> } title="BBQ Terrace" />
rooftop
); diff --git a/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx index 0baa94a..a064ff0 100644 --- a/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx @@ -28,17 +28,17 @@ function SkyGardenMarasiDrive() { const { setModal } = useModalStore(); return ( -
-
-
+
+
+

Sky Garden

-
+
-
+
sky-garden
-
+

Indoor Amenties

-
+
} title="Indoor Lap Pool" /> } title="Wellness Features" /> } title="Changing Rooms" />

-
+

Outdoor Amenties

-
+
} title="Padel Pong" /> } title="Sun Lounging Deck" /> } title="Outdoor Cinema" /> @@ -112,10 +112,10 @@ function SkyGardenMarasiDrive() {
diff --git a/src/components/icons/AmenitiesBadge.tsx b/src/components/icons/AmenitiesBadge.tsx index 2023860..2d3aa32 100644 --- a/src/components/icons/AmenitiesBadge.tsx +++ b/src/components/icons/AmenitiesBadge.tsx @@ -5,8 +5,8 @@ interface AmenitiesBadgeProps { function AmenitiesBadge({ count, type }: AmenitiesBadgeProps) { return ( -
-
+
+

{count}

{type} Amenities

diff --git a/src/components/icons/MoreIcon.tsx b/src/components/icons/MoreIcon.tsx new file mode 100644 index 0000000..9706d67 --- /dev/null +++ b/src/components/icons/MoreIcon.tsx @@ -0,0 +1,14 @@ +function MoreIcon() { + return ( + + + + ); +} + +export default MoreIcon; diff --git a/src/components/ui/Badge.tsx b/src/components/ui/Badge.tsx index cb3315c..b45db42 100644 --- a/src/components/ui/Badge.tsx +++ b/src/components/ui/Badge.tsx @@ -10,13 +10,13 @@ function Badge({ variant, text, className }: BadgeProps) { return (
-

{text}

+

{text}

); } diff --git a/src/components/ui/Select.tsx b/src/components/ui/Select.tsx index 378f1a2..2da7a29 100644 --- a/src/components/ui/Select.tsx +++ b/src/components/ui/Select.tsx @@ -62,7 +62,7 @@ function Select({

{selectedOption}

@@ -95,7 +95,7 @@ function Select({ {option}

{selectedOption === option && ( - + )} ))} diff --git a/src/data/masks.ts b/src/data/masks.ts index 566ce3e..f8dddec 100644 --- a/src/data/masks.ts +++ b/src/data/masks.ts @@ -184,14 +184,14 @@ export const enumerationMasks: Record< > > = { "marasi-drive": { - Ground: { + "Ground Level": { x: 1472, y: 1440, width: 84.6, height: 28.4, d: "M1491.7 1453.78h4.67v6.42h-1.51l-.01-1.71h-.03c-.61 1.09-1.91 1.89-3.68 1.89-3.44 0-5.48-2.72-5.48-6.23 0-3.55 2.05-6.41 5.76-6.41 2.15 0 3.8.96 4.82 2.56l-1.31.83c-.72-1.23-1.89-2-3.49-2-2.64 0-4.13 2.09-4.13 4.97 0 2.96 1.51 4.88 4.08 4.88 2.07 0 3.41-1.24 3.41-3.32 0-.2 0-.37-.03-.52h-3.07zm7.13 6.42v-8.59h1.47l.03 1.29h.04c.57-1.07 1.37-1.47 2.2-1.47.31 0 .53.05.72.11v1.49c-.14-.05-.44-.11-.8-.11-1.42 0-2.14 1.01-2.14 2.06v5.22zm9.62.18c-2.69 0-4.23-1.99-4.23-4.47 0-2.49 1.54-4.48 4.23-4.48 2.7 0 4.2 2.02 4.2 4.48 0 2.45-1.5 4.47-4.2 4.47m-.02-7.65c-1.78 0-2.67 1.47-2.67 3.18 0 1.7.89 3.17 2.67 3.17s2.69-1.47 2.69-3.17c0-1.71-.91-3.18-2.69-3.18m13.51-1.12v8.59h-1.49l-.02-1.26h-.03c-.56.84-1.53 1.44-2.78 1.44-1.86 0-3.03-1.2-3.03-3.01v-5.76h1.52v5.45c0 1.12.63 2 1.96 2 1.44 0 2.35-.99 2.35-2.33v-5.12zm2.53 8.59v-8.59h1.47l.03 1.26h.04c.54-.86 1.5-1.44 2.78-1.44 1.86 0 3.02 1.2 3.02 3.01v5.76h-1.52v-5.46c0-1.12-.65-2-1.95-2-1.44 0-2.35 1-2.35 2.34v5.12zm13.16.18c-2.42 0-3.83-2-3.83-4.4 0-2.53 1.49-4.55 3.91-4.55 1.13 0 2.12.5 2.8 1.43h.03v-4.95h1.52v12.29h-1.49l-.02-1.39h-.03c-.72 1.04-1.74 1.57-2.89 1.57m.27-1.33c1.69 0 2.69-1.33 2.69-3.15 0-1.89-1-3.14-2.64-3.14-1.8 0-2.61 1.52-2.61 3.17 0 1.6.81 3.12 2.56 3.12", }, - Podium: { + "Podium Level": { x: 1472, y: 1372, width: 85.6, @@ -403,14 +403,14 @@ export const enumerationMasks: Record< }, }, "dubai-marina": { - Ground: { + "Ground Level": { x: 2310, y: 1499, width: 60, height: 20, d: "M2323.17 1509.19h3.51v4.81h-1.13l-.01-1.28h-.03c-.45.81-1.43 1.41-2.76 1.41-2.58 0-4.1-2.04-4.1-4.67 0-2.66 1.53-4.81 4.32-4.81 1.61 0 2.84.72 3.61 1.92l-.98.63c-.54-.93-1.42-1.5-2.62-1.5-1.98 0-3.1 1.57-3.1 3.73 0 2.22 1.13 3.66 3.06 3.66 1.55 0 2.56-.94 2.56-2.5 0-.14 0-.27-.02-.38h-2.31zm5.35 4.81v-6.44h1.11l.02.97h.02c.44-.81 1.04-1.11 1.66-1.11.23 0 .4.04.54.09v1.11c-.11-.03-.34-.08-.6-.08-1.07 0-1.61.76-1.61 1.55v3.91zm7.22.13c-2.02 0-3.17-1.49-3.17-3.35 0-1.87 1.15-3.36 3.17-3.36s3.15 1.52 3.15 3.36-1.13 3.35-3.15 3.35m-.02-5.73c-1.33 0-2 1.1-2 2.38s.67 2.38 2 2.38c1.34 0 2.02-1.1 2.02-2.38s-.68-2.38-2.02-2.38m10.13-.84v6.44h-1.11l-.01-.95h-.03c-.42.64-1.15 1.08-2.09 1.08-1.39 0-2.26-.9-2.26-2.25v-4.32h1.14v4.09c0 .84.46 1.5 1.46 1.5 1.08 0 1.76-.75 1.76-1.75v-3.84zm1.9 6.44v-6.44h1.11l.02.94h.02c.41-.64 1.13-1.08 2.09-1.08 1.39 0 2.27.9 2.27 2.26v4.32h-1.14v-4.09c0-.84-.49-1.5-1.46-1.5-1.08 0-1.77.74-1.77 1.75v3.84zm9.87.13c-1.81 0-2.87-1.5-2.87-3.3 0-1.89 1.12-3.41 2.93-3.41.85 0 1.6.38 2.1 1.07h.02v-3.71h1.14v9.22h-1.11l-.01-1.04h-.03c-.54.78-1.31 1.17-2.17 1.17m.2-.99c1.28 0 2.02-1 2.02-2.37 0-1.41-.74-2.35-1.98-2.35-1.34 0-1.96 1.14-1.96 2.38 0 1.2.62 2.34 1.92 2.34", }, - Podium: { + "Podium Level": { x: 2237, y: 1388, width: 61, @@ -562,105 +562,105 @@ export const enumerationMasks: Record< y: 758.211, width: 33, height: 20, - d: "M2260.33 773.211v-.852l3.07-3.072c.86-.852 1.42-1.62 1.42-2.472 0-.888-.59-1.5-1.72-1.5-.9 0-1.45.384-1.94 1.068l-.86-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044zm7.35 0 3.34-7.764h-4.71v-1.044h5.97v.876l-3.36 7.932z", + d: "M2260.33 773.211v-.852l3.07-3.072c.86-.852 1.42-1.62 1.42-2.472 0-.888-.59-1.5-1.72-1.5-.9 0-1.45.384-1.94 1.068l-.86-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044zm10.46.132c-1.94 0-3.18-1.02-3.18-2.496 0-1.02.58-1.74 1.63-2.148v-.024c-.9-.372-1.44-1.092-1.44-2.028 0-1.392 1.19-2.376 2.99-2.376 1.83 0 3 .984 3 2.376 0 .936-.55 1.632-1.44 1.98v.024c1.05.42 1.63 1.176 1.63 2.196 0 1.476-1.24 2.496-3.19 2.496m0-5.136c1.06 0 1.81-.636 1.81-1.488 0-.828-.66-1.44-1.81-1.44s-1.8.612-1.8 1.44c0 .852.76 1.488 1.8 1.488m0 .972c-1.17 0-1.99.672-1.99 1.62 0 .888.72 1.536 1.99 1.536 1.29 0 2.01-.648 2.01-1.536 0-.948-.83-1.62-2.01-1.62", }, "29": { x: 2251, y: 731.41, width: 33, height: 20, - d: "M2260.33 746.41v-.852l3.07-3.072c.86-.852 1.42-1.62 1.42-2.472 0-.888-.59-1.5-1.72-1.5-.9 0-1.45.384-1.94 1.068l-.86-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044zm10.46.132c-1.94 0-3.18-1.02-3.18-2.496 0-1.02.58-1.74 1.63-2.148v-.024c-.9-.372-1.44-1.092-1.44-2.028 0-1.392 1.19-2.376 2.99-2.376 1.83 0 3 .984 3 2.376 0 .936-.55 1.632-1.44 1.98v.024c1.05.42 1.63 1.176 1.63 2.196 0 1.476-1.24 2.496-3.19 2.496m0-5.136c1.06 0 1.81-.636 1.81-1.488 0-.828-.66-1.44-1.81-1.44s-1.8.612-1.8 1.44c0 .852.76 1.488 1.8 1.488m0 .972c-1.17 0-1.99.672-1.99 1.62 0 .888.72 1.536 1.99 1.536 1.29 0 2.01-.648 2.01-1.536 0-.948-.83-1.62-2.01-1.62", + d: "M2260.33 746.41v-.852l3.07-3.072c.86-.852 1.42-1.62 1.42-2.472 0-.888-.59-1.5-1.72-1.5-.9 0-1.45.384-1.94 1.068l-.86-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044zm7.82-.264.42-.984c.41.228.89.36 1.43.36 1.91 0 2.69-1.596 2.8-3.624h-.03c-.51.732-1.4 1.116-2.37 1.116-1.61 0-2.78-1.08-2.78-2.724 0-1.668 1.2-2.82 3.06-2.82 2.5 0 3.24 2.088 3.24 4.164 0 2.328-.93 4.908-3.91 4.908-.73 0-1.35-.156-1.86-.396m2.47-4.128c.89 0 1.95-.432 1.95-1.608 0-.876-.6-1.932-1.96-1.932-1.11 0-1.82.696-1.82 1.764 0 1.02.66 1.776 1.83 1.776", }, "30": { x: 2251, y: 704.609, width: 33, height: 20, - d: "M2260.33 719.609v-.852l3.07-3.072c.86-.852 1.42-1.62 1.42-2.472 0-.888-.59-1.5-1.72-1.5-.9 0-1.45.384-1.94 1.068l-.86-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044zm7.82-.264.42-.984c.41.228.89.36 1.43.36 1.91 0 2.69-1.596 2.8-3.624h-.03c-.51.732-1.4 1.116-2.37 1.116-1.61 0-2.78-1.08-2.78-2.724 0-1.668 1.2-2.82 3.06-2.82 2.5 0 3.24 2.088 3.24 4.164 0 2.328-.93 4.908-3.91 4.908-.73 0-1.35-.156-1.86-.396m2.47-4.128c.89 0 1.95-.432 1.95-1.608 0-.876-.6-1.932-1.96-1.932-1.11 0-1.82.696-1.82 1.764 0 1.02.66 1.776 1.83 1.776", + d: "M2263.03 719.741c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.77 0c-2.59 0-3.18-2.196-3.18-4.524 0-2.316.58-4.548 3.18-4.548s3.18 2.196 3.18 4.524c0 2.316-.57 4.548-3.18 4.548m0-1.02c1.82 0 2-1.8 2-3.516s-.18-3.516-2-3.516c-1.81 0-1.99 1.8-1.99 3.516s.18 3.516 1.99 3.516", }, "31": { x: 2251, y: 677.809, width: 33, height: 20, - d: "M2263.03 692.941c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.77 0c-2.59 0-3.18-2.196-3.18-4.524 0-2.316.58-4.548 3.18-4.548s3.18 2.196 3.18 4.524c0 2.316-.57 4.548-3.18 4.548m0-1.02c1.82 0 2-1.8 2-3.516s-.18-3.516-2-3.516c-1.81 0-1.99 1.8-1.99 3.516s.18 3.516 1.99 3.516", + d: "M2263.03 692.941c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m5.21-.132v-1.044h2.14v-6.3c-.66.396-1.4.636-2.14.828v-1.044c.99-.3 1.83-.696 2.52-1.248h.81v7.764h2.14v1.044z", }, "32": { x: 2251, y: 651.008, width: 33, height: 20, - d: "M2263.03 666.14c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m5.21-.132v-1.044h2.14v-6.3c-.66.396-1.4.636-2.14.828v-1.044c.99-.3 1.83-.696 2.52-1.248h.81v7.764h2.14v1.044z", + d: "M2263.03 666.14c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m4.83-.132v-.852l3.08-3.072c.86-.852 1.41-1.62 1.41-2.472 0-.888-.59-1.5-1.71-1.5-.9 0-1.46.384-1.95 1.068l-.85-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044z", }, "33": { x: 2251, y: 624.207, width: 33, height: 20, - d: "M2263.03 639.339c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m4.83-.132v-.852l3.08-3.072c.86-.852 1.41-1.62 1.41-2.472 0-.888-.59-1.5-1.71-1.5-.9 0-1.46.384-1.95 1.068l-.85-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16v1.044z", + d: "M2263.03 639.339c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.53 0c-1.42 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.06 1.02 2.03 1.02 1.27 0 2.01-.624 2.01-1.56 0-.924-.77-1.56-1.98-1.56h-.86v-1.008h.86c1.09 0 1.8-.6 1.8-1.452 0-.864-.68-1.452-1.83-1.452-.9 0-1.49.348-1.85.936l-.87-.624c.45-.744 1.43-1.332 2.76-1.332 1.82 0 2.97 1.008 2.97 2.4 0 .936-.52 1.62-1.41 1.956v.024c1.04.372 1.59 1.128 1.59 2.148 0 1.476-1.21 2.544-3.18 2.544", }, "34": { x: 2251, y: 597.406, width: 33, height: 20, - d: "M2263.03 612.538c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m9.77.13c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.06 1.02 2.03 1.02 1.27 0 2.01-.624 2.01-1.56 0-.924-.77-1.56-1.98-1.56h-.86v-1.008h.86c1.09 0 1.8-.6 1.8-1.452 0-.864-.68-1.452-1.83-1.452-.9 0-1.49.348-1.85.936l-.87-.624c.45-.744 1.43-1.332 2.76-1.332 1.82 0 2.97 1.008 2.97 2.4 0 .936-.52 1.62-1.41 1.956v.024c1.04.372 1.59 1.128 1.59 2.148 0 1.476-1.21 2.544-3.18 2.544", + d: "M2263.03 612.538c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m11.4-3.156v1.008h-1.61v2.016h-1.18v-2.016h-4.44v-.876l4.13-5.916h1.49v5.784zm-5.94 0h3.15v-4.476h-.02z", }, "35": { x: 2251, y: 570.605, width: 33, height: 20, - d: "M2263.03 585.737c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m11.4-3.156v1.008h-1.61v2.016h-1.18v-2.016h-4.44v-.876l4.13-5.916h1.49v5.784zm-5.94 0h3.15v-4.476h-.02z", + d: "M2263.03 585.737c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m6.62-7.896-.19 2.484c.34-.144.74-.24 1.28-.24 1.79 0 3.08 1.092 3.08 2.808 0 1.68-1.25 2.844-3.24 2.844-1.32 0-2.3-.516-2.84-1.212l.84-.756c.47.612 1.11.948 2.02.948 1.27 0 2.03-.696 2.03-1.8 0-1.08-.79-1.824-2.1-1.824-.61 0-1.05.168-1.42.384h-.9l.37-4.68h4.73v1.044z", }, "36": { x: 2251, y: 543.805, width: 33, height: 20, - d: "M2263.03 558.937c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m6.62-7.896-.19 2.484c.34-.144.74-.24 1.28-.24 1.79 0 3.08 1.092 3.08 2.808 0 1.68-1.25 2.844-3.24 2.844-1.32 0-2.3-.516-2.84-1.212l.84-.756c.47.612 1.11.948 2.02.948 1.27 0 2.03-.696 2.03-1.8 0-1.08-.79-1.824-2.1-1.824-.61 0-1.05.168-1.42.384h-.9l.37-4.68h4.73v1.044z", + d: "M2263.03 558.937c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m10.58-8.628-.43.96c-.44-.264-.98-.384-1.52-.384-1.85 0-2.67 1.452-2.8 3.456h.02c.53-.708 1.47-1.056 2.39-1.056 1.74 0 2.85 1.2 2.85 2.796 0 1.68-1.22 2.856-3.14 2.856-2.5 0-3.28-2.028-3.28-4.164 0-2.436 1.02-4.908 3.98-4.908.77 0 1.4.168 1.93.444m-2.57 7.62c1.2 0 1.9-.756 1.9-1.812 0-1.02-.65-1.836-1.92-1.836-1.03 0-1.99.552-1.99 1.656 0 .828.54 1.992 2.01 1.992", }, "37": { x: 2251, y: 517.004, width: 33, height: 20, - d: "M2263.03 532.136c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m10.58-8.628-.43.96c-.44-.264-.98-.384-1.52-.384-1.85 0-2.67 1.452-2.8 3.456h.02c.53-.708 1.47-1.056 2.39-1.056 1.74 0 2.85 1.2 2.85 2.796 0 1.68-1.22 2.856-3.14 2.856-2.5 0-3.28-2.028-3.28-4.164 0-2.436 1.02-4.908 3.98-4.908.77 0 1.4.168 1.93.444m-2.57 7.62c1.2 0 1.9-.756 1.9-1.812 0-1.02-.65-1.836-1.92-1.836-1.03 0-1.99.552-1.99 1.656 0 .828.54 1.992 2.01 1.992", + d: "M2263.03 532.136c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m6.12-.132 3.35-7.764h-4.72v-1.044h5.98v.876l-3.36 7.932z", }, "38": { x: 2251, y: 490.203, width: 33, height: 20, - d: "M2263.03 505.335c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.35 0 3.34-7.764h-4.71v-1.044h5.97v.876l-3.36 7.932z", + d: "M2263.03 505.335c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.76 0c-1.94 0-3.18-1.02-3.18-2.496 0-1.02.58-1.74 1.63-2.148v-.024c-.9-.372-1.44-1.092-1.44-2.028 0-1.392 1.19-2.376 2.99-2.376 1.83 0 3 .984 3 2.376 0 .936-.55 1.632-1.44 1.98v.024c1.05.42 1.63 1.176 1.63 2.196 0 1.476-1.24 2.496-3.19 2.496m0-5.136c1.06 0 1.81-.636 1.81-1.488 0-.828-.66-1.44-1.81-1.44s-1.8.612-1.8 1.44c0 .852.76 1.488 1.8 1.488m0 .972c-1.17 0-1.99.672-1.99 1.62 0 .888.72 1.536 1.99 1.536 1.29 0 2.01-.648 2.01-1.536 0-.948-.83-1.62-2.01-1.62", }, "39": { x: 2251, y: 463.402, width: 33, height: 20, - d: "M2263.03 478.534c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.76 0c-1.94 0-3.18-1.02-3.18-2.496 0-1.02.58-1.74 1.63-2.148v-.024c-.9-.372-1.44-1.092-1.44-2.028 0-1.392 1.19-2.376 2.99-2.376 1.83 0 3 .984 3 2.376 0 .936-.55 1.632-1.44 1.98v.024c1.05.42 1.63 1.176 1.63 2.196 0 1.476-1.24 2.496-3.19 2.496m0-5.136c1.06 0 1.81-.636 1.81-1.488 0-.828-.66-1.44-1.81-1.44s-1.8.612-1.8 1.44c0 .852.76 1.488 1.8 1.488m0 .972c-1.17 0-1.99.672-1.99 1.62 0 .888.72 1.536 1.99 1.536 1.29 0 2.01-.648 2.01-1.536 0-.948-.83-1.62-2.01-1.62", + d: "M2263.03 478.534c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m5.12-.396.42-.984c.41.228.89.36 1.43.36 1.91 0 2.69-1.596 2.8-3.624h-.03c-.51.732-1.4 1.116-2.37 1.116-1.61 0-2.78-1.08-2.78-2.724 0-1.668 1.2-2.82 3.06-2.82 2.5 0 3.24 2.088 3.24 4.164 0 2.328-.93 4.908-3.91 4.908-.73 0-1.35-.156-1.86-.396m2.47-4.128c.89 0 1.95-.432 1.95-1.608 0-.876-.6-1.932-1.96-1.932-1.11 0-1.82.696-1.82 1.764 0 1.02.66 1.776 1.83 1.776", }, "40": { x: 2251, y: 436.602, width: 33, height: 20, - d: "M2263.03 451.734c-1.43 0-2.47-.6-2.94-1.404l.9-.636c.42.66 1.05 1.02 2.03 1.02 1.27 0 2-.624 2-1.56 0-.924-.77-1.56-1.98-1.56h-.85v-1.008h.85c1.09 0 1.8-.6 1.8-1.452 0-.864-.67-1.452-1.82-1.452-.9 0-1.49.348-1.85.936l-.88-.624c.46-.744 1.43-1.332 2.76-1.332 1.83 0 2.98 1.008 2.98 2.4 0 .936-.53 1.62-1.42 1.956v.024c1.05.372 1.6 1.128 1.6 2.148 0 1.476-1.21 2.544-3.18 2.544m7.45-.264.42-.984c.41.228.89.36 1.43.36 1.91 0 2.69-1.596 2.8-3.624h-.03c-.51.732-1.4 1.116-2.37 1.116-1.61 0-2.78-1.08-2.78-2.724 0-1.668 1.2-2.82 3.06-2.82 2.5 0 3.24 2.088 3.24 4.164 0 2.328-.93 4.908-3.91 4.908-.73 0-1.35-.156-1.86-.396m2.47-4.128c.89 0 1.95-.432 1.95-1.608 0-.876-.6-1.932-1.96-1.932-1.11 0-1.82.696-1.82 1.764 0 1.02.66 1.776 1.83 1.776", + d: "M2266.89 448.578v1.008h-1.61v2.016h-1.17v-2.016h-4.44v-.876l4.13-5.916h1.48v5.784zm-5.94 0h3.16v-4.476h-.03zm9.85 3.156c-2.59 0-3.18-2.196-3.18-4.524 0-2.316.58-4.548 3.18-4.548s3.18 2.196 3.18 4.524c0 2.316-.57 4.548-3.18 4.548m0-1.02c1.82 0 2-1.8 2-3.516s-.18-3.516-2-3.516c-1.81 0-1.99 1.8-1.99 3.516s.18 3.516 1.99 3.516", }, "41": { x: 2251, y: 409.801, width: 33, height: 20, - d: "M2266.89 421.777v1.008h-1.61v2.016h-1.17v-2.016h-4.44v-.876l4.13-5.916h1.48v5.784zm-5.94 0h3.16v-4.476h-.03zm9.85 3.156c-2.59 0-3.18-2.196-3.18-4.524 0-2.316.58-4.548 3.18-4.548s3.18 2.196 3.18 4.524c0 2.316-.57 4.548-3.18 4.548m0-1.02c1.82 0 2-1.8 2-3.516s-.18-3.516-2-3.516c-1.81 0-1.99 1.8-1.99 3.516s.18 3.516 1.99 3.516", + d: "M2266.89 421.777v1.008h-1.61v2.016h-1.17v-2.016h-4.44v-.876l4.13-5.916h1.48v5.784zm-5.94 0h3.16v-4.476h-.03zm7.29 3.024v-1.044h2.14v-6.3c-.66.396-1.4.636-2.14.828v-1.044c.99-.3 1.83-.696 2.52-1.248h.81v7.764h2.14v1.044z", }, "42": { x: 2251, y: 383, width: 33, height: 20, - d: "M2266.89 394.976v1.008h-1.61v2.016h-1.17v-2.016h-4.44v-.876l4.13-5.916h1.48v5.784zm-5.94 0h3.16v-4.476h-.03zm7.29 3.024v-1.044h2.14v-6.3c-.66.396-1.4.636-2.14.828v-1.044c.99-.3 1.83-.696 2.52-1.248h.81v7.764h2.14v1.044z", + d: "M2266.89 394.976v1.008h-1.61V398h-1.17v-2.016h-4.44v-.876l4.13-5.916h1.48v5.784zm-5.94 0h3.16V390.5h-.03zm6.91 3.024v-.852l3.08-3.072c.86-.852 1.41-1.62 1.41-2.472 0-.888-.59-1.5-1.71-1.5-.9 0-1.46.384-1.95 1.068l-.85-.66c.65-.9 1.56-1.452 2.88-1.452 1.78 0 2.82.996 2.82 2.46 0 .948-.44 1.884-1.4 2.844l-2.58 2.568v.024h4.16V398z", }, "Sky 44": { x: 2240, diff --git a/src/pages/FloorsPage.tsx b/src/pages/FloorsPage.tsx index d49fb33..ec2cc9a 100644 --- a/src/pages/FloorsPage.tsx +++ b/src/pages/FloorsPage.tsx @@ -21,6 +21,7 @@ import FloorPlanMarasiDriveWestUpper from "../components/FloorPlanMarasiDriveWes import { Unit } from "../types/IUnit"; import slugToComplexName from "../utils/slugToComplexName"; import { usePopupStore } from "../stores/usePopupStore"; +import { isMobile } from "react-device-detect"; function FloorsPage() { const { complexName } = useParams(); @@ -60,10 +61,10 @@ function FloorsPage() { .json(), }); - const { setPosition } = usePopupStore(); + const { setPosition, setPopup } = usePopupStore(); return ( -
+
} {selectedFloor === "Podium Level" && } {!!parseInt(selectedFloor!) && ( -
-
+
setPopup(null)} + > +

{selectedFloor} floor

-
+
-
-
+
+
[ @@ -209,10 +216,10 @@ function FloorsPage() { } defaultOption={selectedFloor?.toString() || ""} onSelect={setSelectedFloor} - className="2xl:w-[8.333vw]" + className="2xl:w-[8.333vw] md:max-2xl:w-[120px] w-full" /> -
-
+
+
- setPosition({ x: e.clientX, y: e.clientY }) + !isMobile && setPosition({ x: e.clientX, y: e.clientY }) } > {unitsOnFloor && selectedFloor.split(" ")[0] === "East" && ( diff --git a/src/pages/UnitPage.tsx b/src/pages/UnitPage.tsx index 1984e14..5a696a1 100644 --- a/src/pages/UnitPage.tsx +++ b/src/pages/UnitPage.tsx @@ -101,15 +101,15 @@ function UnitPage() {

Total Area

-

{unit.squareFt} Sqft

+

{unit.squareFt.toFixed(2)} Sqft

Suite Area

-

{unit.suitsArea} Sqft

+

{unit.suitsArea.toFixed(2)} Sqft

Balcony Area

-

{unit.balconyArea} Sqft

+

{unit.balconyArea.toFixed(2)} Sqft

Status