From 62ad7f18e6f1784b3104c8f4b8a93358b5d3900a Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Wed, 4 Jun 2025 14:53:09 +0500 Subject: [PATCH] popup for all floor plans --- src/components/FloorPlanDubaiMarina.tsx | 120 ++- src/components/FloorPlanMarasiDriveEast.tsx | 138 +--- .../FloorPlanMarasiDriveWestLower.tsx | 494 +++-------- .../FloorPlanMarasiDriveWestUpper.tsx | 441 +++------- src/data/floor-plan-masks/dubai-marina.ts | 173 ++++ src/data/floor-plan-masks/marasi-drive.ts | 782 +++++++++++++----- src/pages/FloorsPage.tsx | 18 +- 7 files changed, 1097 insertions(+), 1069 deletions(-) diff --git a/src/components/FloorPlanDubaiMarina.tsx b/src/components/FloorPlanDubaiMarina.tsx index 112d738..a0c4512 100644 --- a/src/components/FloorPlanDubaiMarina.tsx +++ b/src/components/FloorPlanDubaiMarina.tsx @@ -1,11 +1,17 @@ -import { floorPlanMasksDubaiMarina } from "../data/floor-plan-masks/dubai-marina"; +import { Fragment } from "react/jsx-runtime"; +import { dubaiMarinaMasks } from "../data/floor-plan-masks/dubai-marina"; +import { Unit } from "../types/IUnit"; +import { usePopupStore } from "../stores/usePopupStore"; +import UnitPopup from "./UnitPopup"; interface FloorPlanDubaiMarinaProps { selectedFloor: string | null; + unitsOnFloor: Unit[]; } function FloorPlanDubaiMarina({ selectedFloor, + unitsOnFloor, ...props }: FloorPlanDubaiMarinaProps & React.SVGProps) { return ( @@ -22,39 +28,89 @@ function FloorPlanDubaiMarina({ transform="scale(.5)" xlinkHref="/images/floor-plans/dubai-marina/floor-plan_7-38.png" /> - {floorPlanMasksDubaiMarina.map((mask) => ( - { - window.open( - `/complex/dubai-marina/${selectedFloor}${mask.text.unitNumber.padStart( - 2, - "0" - )}`, - "_blank" - ); - }} - > - - - - {selectedFloor} - {mask.text.unitNumber.padStart(2, "0")} - - - {mask.text.unitType} - - - - ))} + {unitsOnFloor.map((unit) => + dubaiMarinaMasks.has(unit.unitNo.slice(-2)) ? ( + + ) : ( + + ) + )} ); } export default FloorPlanDubaiMarina; + +function FloorPlanDubaiMarinaUnit({ + unit, + floor, + d, + textTransform, + formattedUnitType, +}: { + unit: Unit; + floor: string; + d: string; + textTransform: string; + formattedUnitType: string; +}) { + const { setPopup, setSide } = usePopupStore(); + + function handleMouseEnter() { + if (floor === null) return; + setSide("top"); + setPopup( + + ); + } + + return ( + + + + {unit.unitNo} + + + {formattedUnitType} + + + { + window.open(`/complex/dubai-marina/${unit.unitNo}`, "_blank"); + }} + 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 23fa0d0..425233c 100644 --- a/src/components/FloorPlanMarasiDriveEast.tsx +++ b/src/components/FloorPlanMarasiDriveEast.tsx @@ -1,4 +1,5 @@ -import { formattedUnitTypes } from "../data/formattedUnitTypes"; +import { Fragment } from "react/jsx-runtime"; +import { floorPlanMarasiDriveEastMasks } from "../data/floor-plan-masks/marasi-drive"; import { usePopupStore } from "../stores/usePopupStore"; import { Unit } from "../types/IUnit"; import UnitPopup from "./UnitPopup"; @@ -1152,102 +1153,36 @@ function FloorPlanMarasiDriveEast({ {unitsOnFloor && unitsOnFloor.length && ( - - - - - - - - - - - - - - - - + {unitsOnFloor.map((unit) => + floorPlanMarasiDriveEastMasks.has(unit.unitNo.slice(-2)) ? ( + + ) : ( + + ) + )} + {/* {floorPlanMarasiDriveEastMasks.map( + ({ d, textTransform: { x, y } }, index) => ( + + ) + )} */} )} @@ -1261,11 +1196,13 @@ function MarasiDriveEastFloorPlanUnit({ textTransform, floor, unit, + formattedUnitType, }: { d: string; textTransform: string; floor: string | null; unit: Unit; + formattedUnitType: string; }) { function handleClick(unitNumber: string) { window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); @@ -1307,13 +1244,16 @@ function MarasiDriveEastFloorPlanUnit({ {unit.unitNo} - {formattedUnitTypes.get(unit.unitType)} + {formattedUnitType} handleClick(unit.unitNo)} onMouseEnter={handleMouseEnter} - onMouseLeave={() => setPopup(null)} + onMouseLeave={() => { + setPopup(null); + setSide("left"); + }} // data-number={unit.unitNo} // data-type={unit.unitType} d={d} diff --git a/src/components/FloorPlanMarasiDriveWestLower.tsx b/src/components/FloorPlanMarasiDriveWestLower.tsx index 65e2dca..4da30ed 100644 --- a/src/components/FloorPlanMarasiDriveWestLower.tsx +++ b/src/components/FloorPlanMarasiDriveWestLower.tsx @@ -1,15 +1,18 @@ -// import { selectedFloorPlanMasksMarasiDrive } from "../data/selectedFloor-plan-masks/marasi-drive"; +import { Fragment } from "react/jsx-runtime"; +import { floorPlanMarasiDriveWestLowerMasks } from "../data/floor-plan-masks/marasi-drive"; +import { usePopupStore } from "../stores/usePopupStore"; +import { Unit } from "../types/IUnit"; +import UnitPopup from "./UnitPopup"; interface FloorPlanMarasiDriveEastProps { selectedFloor: string | null; + unitsOnFloor: Unit[]; } function FloorPlanMarasiDriveEast({ selectedFloor, + unitsOnFloor, }: FloorPlanMarasiDriveEastProps & React.SVGProps) { - function handleClick(unitNumber: string) { - window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); - } return ( @@ -1186,402 +1189,99 @@ function FloorPlanMarasiDriveEast({ /> - - - {`W-${selectedFloor}17`} - - - {"2BR"} - - - handleClick(`W-${selectedFloor}17`)} - data-number={17} - data-type="2br-type-b" - d="M169.41,2.98l33.1,33.11.67,1,32.88,32.88-14.03,14.03,3.29,3.29-43.59,43.59-3.84-3.84-2.69,2.69-10.9-10.9-9.67,9.67-46.6-46.6,2.99-2.99-13.72-13.72,20.87-20.87.65-.66L159.51,2.98c2.73-2.73,7.17-2.73,9.9,0Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}16`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}16`)} - data-number={16} - data-type="1br-type-c" - d="M200.89,155.43l-1.67-1.67-7.02-7.15-8.01-8.01,2.63-2.63-3.88-3.89,43.59-43.59,3.26,3.26,14.06-14.06,33.69,33.69-14.06,14.06,2.22,2.23-25.32,25.32.97.97-15.69,15.69-19.49-19.49-5.28,5.28Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}15`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}15`)} - data-number={15} - data-type="1br-type-c" - d="M264.5,213.65l43.59-43.59-3.15-3.15,14.06-14.06-33.83-33.83-14.06,14.06-2.31-2.31-25.32,25.32-.88-.88-15.69,15.69,19.63,19.63-5.28,5.28,1.61,1.61,7.13,7.13,7.89,7.88,2.7-2.69,3.91,3.91Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}14`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}14`)} - data-number={14} - data-type="studio-flex" - d="M327.42,281.91l1.18,1.17,6.96,7.01,8.35,8.35,4.17-4.17,2.83,2.84,39.15-39.15,13.53-13.53-19.01-19.01-13.53,13.53-3.16-3.16-40.62,40.62,2.82,2.82-2.68,2.68Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}13`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}13`)} - data-number={13} - data-type="studio-flex" - d="M424.28,265.11l-13.53,13.53,3.16,3.16-40.6,40.6-2.85-2.85-2.72,2.72-1.26-1.26-7.16-7.16-8.52-8.52,4.17-4.17-2.77-2.77,39.15-39.15,13.53-13.53,19.39,19.39Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}12`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}12`)} - data-number={12} - data-type="studio-flex" - d="M452.09,292.93l-13.58,13.47-.72-.72-25.23,25.23.83.83-13.92,13.92-2.85-2.85-4.17,4.17-9.42-9.42-7.11-7.11-1.24-1.23,2.72-2.72-2.91-2.91,40.6-40.6,3.13,3.13,13.53-13.53,20.34,20.34Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}11`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}11`)} - data-number={11} - data-type="studio-flex" - d="M473.6,314.43l-13.53,13.53,3.19,3.19-40.6,40.6-2.83-2.83-2.72,2.72-1.45-1.45-6.87-6.87-9.47-9.46,4.17-4.17-2.82-2.82,13.92-13.92.98.98,25.23-25.23-1-1,13.53-13.53,20.27,20.27Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}10`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}10`)} - data-number={10} - data-type="studio-flex" - d="M500.52,341.36l-13.53,13.53-39.15,39.15-3.07-3.07-4.17,4.17-8.29-8.29-7.13-7.13-1.27-1.27,2.72-2.72-2.71-2.71,40.6-40.6,3.22,3.22,13.44-13.61,19.34,19.34Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}09`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}09`)} - data-number={9} - data-type="studio-flex" - d="M470.14,419.23l40.6-40.6-3.18-3.18,13.53-13.53-19.47-19.47-13.61,13.44-39.15,39.15,3.04,3.04-4.17,4.17,8.43,8.43,7.07,7.07,1.35,1.35,2.72-2.72,2.84,2.84Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}08`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}08`)} - data-number={8} - data-type="1br-type-a" - d="M500.78,455.79l16.51-5.61,1.39,4.2,35.35-11.92,7.77,22.96,1.28-.38,1.24,3.65,3.61-1.22c1.76-.59,3.67.35,4.28,2.11l9.99,28.94c.65,1.89-.47,3.94-2.42,4.4l-54.82,12.98c-1.69.4-3.42-.55-3.98-2.19l-2.17-6.31-9.95,3.41-11.22-33.56-1.47.43-6.36-17.98,1.8-.63,9.17-3.26Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}07`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}07`)} - data-number={7} - data-type="1br-type-a" - d="M486.5,460.74l1.79-.56,6.3,17.99-1.27.39,11.45,33.8-10.01,3.49c0,.15.92,2.97,2.01,6.22.55,1.63-.21,3.42-1.77,4.16l-50.88,24.06c-1.82.86-3.98-.04-4.64-1.94l-10.31-29.31c-.62-1.78.32-3.72,2.1-4.33l3.91-1.33-1.26-3.6,1.29-.44-8.1-23.26,35.14-12.1-1.4-4.43,16.15-5.52,9.52-3.29Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}06`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}06`)} - data-number={6} - data-type="1br-type-d" - d="M430.61,412.89l-1.57-1.56-7.08-7.08-9.33-9.33-2.56,2.56-3.86-3.86-42.07,42.07,7.64,7.64-15.69,15.69,30.49,30.49,15.69-15.69,6.63,6.63,24.46-24.46-3.18-3.18,9.93-9.93-19.74-19.74,10.23-10.23Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}05`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}05`)} - data-number={5} - data-type="studio-2" - d="M404.68,386.96l-1.16-1.16-7.09-7.09-8.35-8.35-4.15,4.15-5.41-5.42-10.33,10.33.99.99-31.72,31.72-.99-.99-14.13,14.13,21.71,21.71,14.13-14.13,3.23,3.23,43.64-43.64-2.93-2.93,2.56-2.56Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}04`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}04`)} - data-number={4} - data-type="studio-2" - d="M376.01,358.29l-8.41-8.41-7.05-7.05-1.36-1.36-2.56,2.56-2.75-2.75-43.64,43.64,3.14,3.14-14.13,14.13,21.82,21.82,14.13-14.13-.87-.87,31.72-31.72.85.85,10.33-10.33-5.37-5.37,4.15-4.15Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}03`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}03`)} - data-number={3} - data-type="1br-type-d" - d="M351.18,333.52l-9.25-9.25-7.07-7.07-1.77-1.77-10.17,10.17-19.33-19.33-9.92,9.92-3.17-3.17-24.45,24.45,6.83,6.83-15.75,15.75,30.05,30.05,15.75-15.75,7.58,7.59,42.01-42.01-3.87-3.87,2.53-2.53Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}02`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}02`)} - data-number={2} - data-type="studio-2" - d="M304.47,286.8l-1.14-1.14-7.04-7.04-8.46-8.46-4.12,4.12-4.36-4.36-42.07,42.07-14.11,14.11,20.7,20.7,14.11-14.11,3.22,3.22,31.77-31.77.92.92,11.88-11.88-3.83-3.83,2.53-2.53Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - - {`W-${selectedFloor}01`} - - - {"2BR"} - - - handleClick(`W-${selectedFloor}01`)} - data-number={1} - data-type="2br-type-a" - d="M264.39,246.73l1.02,1.02-4.12,4.12,14.85,14.85-1.91,1.91,1.9,1.9-36.21,36.21-18.05,18.05-1.97-1.97c-6.35-6.35-14.97-9.92-23.95-9.92h-19.67l.03-17.38-10.88-.03v-46.12h8.58v-6.29h77.87l4.43-4.43.95.94,7.13,7.13Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - + {unitsOnFloor.map((unit) => + floorPlanMarasiDriveWestLowerMasks.has(unit.unitNo.slice(-2)) ? ( + + ) : ( + + ) + )} ); } export default FloorPlanMarasiDriveEast; + +function MarasiDriveWestLowerFloorPlanUnit({ + d, + textTransform, + floor, + unit, + formattedUnitType, +}: { + d: string; + textTransform: string; + floor: string | null; + unit: Unit; + formattedUnitType: string; +}) { + function handleClick(unitNumber: string) { + window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); + } + + const { setPopup, setSide } = usePopupStore(); + + function handleMouseEnter() { + if (floor === null) return; + setSide("top"); + setPopup( + + ); + } + + return ( + + + + {unit.unitNo} + + + {formattedUnitType} + + + handleClick(unit.unitNo)} + onMouseEnter={handleMouseEnter} + onMouseLeave={() => setPopup(null)} + // 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/FloorPlanMarasiDriveWestUpper.tsx b/src/components/FloorPlanMarasiDriveWestUpper.tsx index 844b507..2f5a629 100644 --- a/src/components/FloorPlanMarasiDriveWestUpper.tsx +++ b/src/components/FloorPlanMarasiDriveWestUpper.tsx @@ -1,15 +1,21 @@ // import { selectedFloorPlanMasksMarasiDrive } from "../data/selectedFloor-plan-masks/marasi-drive"; +import { Fragment } from "react/jsx-runtime"; +import { floorPlanMarasiDriveWestUpperMasks } from "../data/floor-plan-masks/marasi-drive"; +import { formattedUnitTypes } from "../data/formattedUnitTypes"; +import { usePopupStore } from "../stores/usePopupStore"; +import { Unit } from "../types/IUnit"; +import UnitPopup from "./UnitPopup"; + interface FloorPlanMarasiDriveEastProps { selectedFloor: string | null; + unitsOnFloor: Unit[]; } function FloorPlanMarasiDriveEast({ + unitsOnFloor, selectedFloor, }: FloorPlanMarasiDriveEastProps & React.SVGProps) { - function handleClick(unitNumber: string) { - window.open(`/complex/marasi-drive/${unitNumber}`); - } return ( @@ -1164,354 +1170,93 @@ function FloorPlanMarasiDriveEast({ /> - - - {`W-${selectedFloor}15`} - - - {"2BR"} - - - handleClick(`W-${selectedFloor}15`)} - data-type="2br-type-b" - d="M222.75,83.92l13.84-13.84-33.29-33.29c-.12-.18-.39-.56-.45-.61L169.58,2.91c-2.73-2.73-7.17-2.73-9.9,0l-40.71,40.71-.69.69-21.08,21.09,13.65,13.65.21.21-2.89,2.89,46.6,46.6,9.79-9.79,11.02,11.02,2.57-2.57,3.84,3.84,43.69-43.69-3.28-3.28.35-.35Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}14`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}14`)} - data-number={14} - data-type="1br-type-c" - d="M240.46,153.11l25.4-25.4-2.22-2.22,14.18-14.17-33.59-33.59-14.17,14.17-3.25-3.25-43.69,43.69,3.89,3.89-2.57,2.58,8.06,8.06,7.1,7.1,1.5,1.5,5.17-5.17,19.54,19.54,15.69-15.69-1.03-1.03Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}13`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}13`)} - data-number={13} - data-type="1br-type-c" - d="M260.81,210.14l3.89,3.89,43.73-43.73-3.36-3.36,14.18-14.18-33.66-33.66-14.18,14.18-2.24-2.24-25.4,25.4-.98-.98-15.69,15.69,19.65,19.66-5.17,5.17,1.53,1.54,7.24,7.24,7.91,7.91,2.54-2.54Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}12`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}12`)} - data-number={12} - data-type="1br-type-d" - d="M365.82,320.22l-9.26-9.26-7.07-7.07-1.72-1.72,10.25-10.25-19.53-19.53,10.08-10.08-3.13-3.13,24.46-24.46,3.16,3.16,12.16-12.16,38.3,38.3-12.16,12.16,3.13,3.13-42.25,42.25-3.88-3.88-2.54,2.54Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}11`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}11`)} - data-number={11} - data-type="studio-2" - d="M376.48,325.78l-3.03-3.03,43.79-43.8,3.3,3.3,14.1-14.1,22.12,22.12-14.1,14.1-2.69,2.7-1.14-1.14-25.55,25.55,1.12,1.12-13.88,13.88-5.58-5.58-4.21,4.21-8.75-8.75-6.72-6.72-1.33-1.33,2.54-2.54Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}10`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}10`)} - data-number={10} - data-type="studio-2" - d="M419.72,374.11l-1.39-1.39-6.73-6.73-8.63-8.63,4.21-4.21-5.51-5.51,13.88-13.88,1.02,1.02,25.55-25.55-1.01-1.01,2.69-2.69,14.1-14.1,21.79,21.79-14.1,14.1,3.14,3.14-43.76,43.76-2.67-2.67-2.57,2.57Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}09`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}09`)} - data-number={9} - data-type="1br-type-d" - d="M511.97,378.73l.92-.92-2.98-2.98,12.22-12.22-38.3-38.3-12.22,12.22-3.19-3.19-42.16,42.16,3.9,3.9-2.57,2.57,9.43,9.43,6.9,6.9h0s1.69,1.68,1.69,1.68l10.29-10.29,19.42,19.42,10.09-10.09,3.13,3.13,23.43-23.43Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}08`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}08`)} - data-number={8} - data-type="1br-type-a" - d="M518.29,451l-27.67,9.51,6.34,17.89,1.46-.42,11.67,34.18,10.32-3.68,1.85,6.1c.52,1.71,2.28,2.73,4.02,2.32l55.19-12.9c1.96-.46,3.09-2.51,2.43-4.42l-10.11-29.13c-.6-1.74-2.49-2.68-4.24-2.12l-4.15,1.33-1.33-3.56-1.14.43-8.12-23.31-35.19,12.02-1.32-4.26Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}07`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}07`)} - data-number={7} - data-type="1br-type-a" - d="M461.65,470.47l1.31,4.54-35.04,12.13,7.97,23.33-1.3.43,1.22,3.71-3.73,1.17c-1.82.57-2.81,2.54-2.19,4.34l10.11,29.25c.66,1.9,2.82,2.82,4.64,1.97l51.46-23.96c1.57-.73,2.34-2.52,1.78-4.16l-2-5.93,10.04-3.56-11.78-34.3,1.19-.41-6.14-18.02-27.53,9.46Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}06`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}06`)} - data-number={6} - data-type="1br-type-d" - d="M413.66,395.92l9.27,9.27,7.05,7.05,1.75,1.75-10.26,10.26,19.35,19.35-10.14,10.14,3.16,3.16-24.37,24.37-6.56-6.55-15.79,15.79-30.15-30.15,15.79-15.79-7.74-7.75,42.12-42.12,3.88,3.88,2.66-2.66Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}05`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}05`)} - data-number={5} - data-type="studio-2" - d="M389.02,371.28l8.29,8.29,7.16,7.16,1.29,1.28-2.66,2.66,2.74,2.74-43.83,43.83-3.08-3.07-14.08,14.09-21.98-21.98,14.08-14.09,1.06,1.06,31.99-31.98-1.06-1.06,10.42-10.42,5.58,5.58,4.08-4.08Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}04`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}04`)} - data-number={4} - data-type="studio-2" - d="M357.37,345.08l-3.16-3.16-43.76,43.76,3.26,3.26-14.09,14.09,22.17,22.17,14.09-14.09-1.14-1.14,31.98-31.99,1.11,1.1,10.42-10.42-5.47-5.47,4.08-4.08-8.5-8.5-7.05-7.05-1.21-1.21-2.73,2.73Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}03`} - - - {"1BR"} - - - handleClick(`W-${selectedFloor}03`)} - data-number={3} - data-type="1br-type-d" - d="M333.82,316.09l1.65,1.65,7.18,7.18,9.19,9.19-2.73,2.73,3.93,3.93-42.04,42.04-7.69-7.69-15.68,15.68-30.28-30.29,15.68-15.68-6.64-6.64,24.39-24.39,3.12,3.12,10.05-10.05,19.54,19.54,10.32-10.33Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}02`} - - - {"ST"} - - - handleClick(`W-${selectedFloor}02`)} - data-number={2} - data-type="studio-2" - d="M244.15,347.32l-20.93-20.93,13.95-13.95,42.36-42.36,4.44,4.44,4.18-4.18,8.51,8.51,7.16,7.16,1.2,1.2-2.67,2.67,3.84,3.84-11.86,11.86-.98-.98-32.02,32.02-3.24-3.24-13.95,13.95Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> - - - {`W-${selectedFloor}01`} - - - {"2BR"} - - - handleClick(`W-${selectedFloor}01`)} - data-number={1} - data-type="2br-type-a" - d="M256.62,238.83l-4.55,4.56-77.95.04.08,6.33-8.57.23-.21,46.2,10.98-.02-.12,17.36,19.04-.1c9.51-.05,18.65,3.71,25.38,10.43l1.21,1.21,54.24-54.24-1.98-1.98,2.06-2.06-14.74-14.74,4.18-4.18-9.04-9.04Z" - className="fill-transparent hover:fill-[#00BED7]/20 transition-[fill] cursor-pointer" - /> + {unitsOnFloor.map((unit) => + floorPlanMarasiDriveWestUpperMasks.has(unit.unitNo.slice(-2)) ? ( + + ) : ( + + ) + )} ); } export default FloorPlanMarasiDriveEast; + +function MarasiDriveWestUpperFloorPlanUnit({ + d, + textTransform, + floor, + unit, +}: { + d: string; + textTransform: string; + floor: string | null; + unit: Unit; +}) { + function handleClick(unitNumber: string) { + window.open(`/complex/marasi-drive/${unitNumber}`, "_blank"); + } + + const { setPopup, setSide } = usePopupStore(); + + function handleMouseEnter() { + if (floor === null) return; + setSide("top"); + setPopup( + + ); + } + + return ( + + + + {unit.unitNo} + + + {formattedUnitTypes.get(unit.unitType) || unit.unitType} + + + handleClick(unit.unitNo)} + onMouseEnter={handleMouseEnter} + onMouseLeave={() => setPopup(null)} + // 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/data/floor-plan-masks/dubai-marina.ts b/src/data/floor-plan-masks/dubai-marina.ts index 5db3432..95437a0 100644 --- a/src/data/floor-plan-masks/dubai-marina.ts +++ b/src/data/floor-plan-masks/dubai-marina.ts @@ -1,3 +1,5 @@ +import { FloorPlanMasks } from "./marasi-drive"; + export const floorPlanMasksDubaiMarina = [ { id: 1, @@ -210,3 +212,174 @@ export const floorPlanMasksDubaiMarina = [ }, }, ]; + +export const dubaiMarinaMasks: FloorPlanMasks = new Map([ + [ + "01", + { + d: "M40.81 288.95h-16.7c-.55 0-1-.45-1-1v-6.52c0-.55-.45-1-1-1h-5.74c-.55 0-1-.45-1-1v-92.56c0-.55.45-1 1-1h5.78c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h17.34c.55 0 1 .45 1 1v2.5c0 .55.45 1 1 1h46.35c.55 0 1-.45 1-1v-3.38c0-.55.45-1 1-1h34.77c.55 0 1 .45 1 1v45.53c0 .55.45 1 1 1h7.35c.55 0 1 .45 1 1v17.28c0 .55.45 1 1 1h15.5c.55 0 1 .45 1 1v43.27c0 .55-.45 1-1 1h-5.21c-.55 0-1 .45-1 1v7.83c0 .55-.45 1-1 1h-20.77c-.55 0-1-.45-1-1v-3.39c0-.55-.45-1-1-1H91.79c-.55 0-1-.45-1-1v-3.85c0-.55-.45-1-1-1H42.81c-.55 0-1 .45-1 1v1.61c0 .55-.45 1-1 1Z", + textTransform: [85, 232], + formattedUnitType: "1 BR² — B", + }, + ], + [ + "02", + { + d: "M55.26 380.44H5.31c-.55 0-1-.45-1-1v-84.9c0-.55.45-1 1-1h106.12c.55 0 1 .45 1 1v7.76c0 .55.45 1 1 1h7.72c.55 0 1 .45 1 1v20.02c0 .55-.45 1-1 1h-15.92c-.55 0-1 .45-1 1v10.4c0 .55-.45 1-1 1h-8.72c-.55 0-1 .45-1 1v8.03c0 .55-.45 1-1 1H57.26c-.55 0-1 .45-1 1v30.68c0 .55-.45 1-1 1Z", + textTransform: [56, 315], + formattedUnitType: "Studio² — B", + }, + ], + [ + "03", + { + d: "M58.6 381.25v-21.73c0-.55.45-1 1-1h15.96c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h27.58c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5.4.9.9.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-9.29 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03H60.46c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1h1.59c.55 0 1-.45 1-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", + textTransform: [107, 390], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "04", + { + d: "M161.1 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1h-37.88c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", + textTransform: [183, 390], + formattedUnitType: "Studio² — A", + }, + ], + [ + "05", + { + d: "M213.32 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", + textTransform: [239, 390], + formattedUnitType: "Studio² — A", + }, + ], + [ + "06", + { + d: "M268.37 381.25v-21.73c0-.55.45-1 1-1h15.52c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h28.02c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5-.04.9.46.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-8.85 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03h-18.33c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1s.75-.45.75-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", + textTransform: [316, 390], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "07", + { + d: "M371.29 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1H373.3c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", + textTransform: [393, 390], + formattedUnitType: "Studio² — A", + }, + ], + [ + "08", + { + d: "M423.5 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", + textTransform: [449, 390], + formattedUnitType: "Studio² — A", + }, + ], + [ + "09", + { + d: "M483.58 337.26v-9.76h42.64v22.41h30V358h17.46v24.14h-4.02v48.93h4.12v18.59l-11.74 12.61a8.01 8.01 0 0 1-7.98 2.26l-53.9-14.87h-19.7v-18.59h1.67v-49h-3.95v-44.79h5.4Z", + textTransform: [525, 390], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "10", + { + d: "M576.92 380.43h51.77c.55 0 1-.45 1-1v-85c0-.55-.45-1-1-1H520.87c-.55 0-1 .45-1 1v7.87c0 .55-.45 1-1 1h-7.41c-.55 0-1 .45-1 1v20.02c0 .55.45 1 1 1h15.92c.55 0 1 .45 1 1v10.5c0 .55.45 1 1 1h8.72c.55 0 1 .45 1 1v7.94c0 .55.45 1 1 1h34.82c.55 0 1 .45 1 1v30.68c0 .55.45 1 1 1Z", + textTransform: [570, 316], + formattedUnitType: "Studio² — B", + }, + ], + [ + "11", + { + d: "M495.64 241.6h-17.41v45.48h7.19v10.13h22.29v-4.45h12.26v-1.33h22.81v-6.06h47.75v4.76h18.55v-9.82h8.52v-46.33H495.63v7.62Z", + textTransform: [540, 256], + formattedUnitType: "Studio² — C", + }, + ], + [ + "12", + { + d: "M495.64 223.94h-17.41v-44.9h7.19v-10.13h22.29v4.45h12.26v1.33h22.81v6.06h47.75v-4.76h18.55v9.82h8.52v45.75H495.63v-7.62Z", + textTransform: [540, 201], + formattedUnitType: "Studio² — C", + }, + ], + [ + "13", + { + d: "M576.92 85.4h51.77c.55 0 1 .45 1 1v84.99c0 .55-.45 1-1 1h-107.5c-.55 0-1-.45-1-1v-7.86c0-.55-.45-1-1-1h-7.73c-.55 0-1-.45-1-1v-20.02c0-.55.45-1 1-1h15.92c.55 0 1-.45 1-1l-.04-10.95c0-.55.45-1 1-1h8.37c.55 0 1-.44 1-1l.04-7.86c0-.55.45-.99 1-.99h35.18c.55 0 1-.45 1-1V86.4c0-.55.45-1 1-1Z", + textTransform: [570, 140], + formattedUnitType: "Studio² — B", + }, + ], + [ + "14", + { + d: "M483.58 128.54v9.76h42.64v-22.41h30v-8.08h17.46V83.67h-4.02V34.74h4.12V16.15L562.04 3.54a8.01 8.01 0 0 0-7.98-2.26l-53.9 14.87h-19.7v18.59h1.67v49h-3.95v44.79h5.4Z", + textTransform: [525, 75], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "15", + { + d: "M423.5 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", + textTransform: [449, 75], + formattedUnitType: "Studio² — A", + }, + ], + [ + "16", + { + d: "M371.29 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1H373.3c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", + textTransform: [392, 75], + formattedUnitType: "Studio² — A", + }, + ], + [ + "17", + { + d: "M268.37 85.09v21.73c0 .55.45 1 1 1h15.52c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h28.02c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5-.04-.9.46-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-8.85-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03h-18.33c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1s.75.45.75 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", + textTransform: [316, 75], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "18", + { + d: "M213.32 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", + textTransform: [239, 75], + formattedUnitType: "Studio² — A", + }, + ], + [ + "19", + { + d: "M161.1 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1h-37.88c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", + textTransform: [183, 75], + formattedUnitType: "Studio² — A", + }, + ], + [ + "20", + { + d: "M58.6 85.09v21.73c0 .55.45 1 1 1h15.96c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h27.58c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5.4-.9.9-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-9.29-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03H60.46c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1h1.59c.55 0 1 .45 1 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", + textTransform: [107, 75], + formattedUnitType: "1 BR² — A", + }, + ], + [ + "21", + { + d: "M55.26 85.4H5.31c-.55 0-1 .45-1 1v84.99c0 .55.45 1 1 1h106.12c.55 0 1-.45 1-1v-7.86c0-.55.45-1 1-1h7.72c.55 0 1-.45 1-1v-20.02c0-.55-.45-1-1-1h-15.92c-.55 0-1-.45-1-1v-10.77c0-.55-.45-1-1-1h-8.72c-.55 0-1-.45-1-1v-8.03c0-.55-.45-1-1-1H57.26c-.55 0-1-.45-1-1V86.4c0-.55-.45-1-1-1", + textTransform: [55, 140], + formattedUnitType: "Studio² — B", + }, + ], +]); diff --git a/src/data/floor-plan-masks/marasi-drive.ts b/src/data/floor-plan-masks/marasi-drive.ts index 63f9fa6..819f007 100644 --- a/src/data/floor-plan-masks/marasi-drive.ts +++ b/src/data/floor-plan-masks/marasi-drive.ts @@ -1,212 +1,614 @@ -export const floorPlanMasksMarasiDrive = [ +// export const floorPlanMasksMarasiDrive = [ +// { +// id: 1, +// path: "M40.81 288.95h-16.7c-.55 0-1-.45-1-1v-6.52c0-.55-.45-1-1-1h-5.74c-.55 0-1-.45-1-1v-92.56c0-.55.45-1 1-1h5.78c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h17.34c.55 0 1 .45 1 1v2.5c0 .55.45 1 1 1h46.35c.55 0 1-.45 1-1v-3.38c0-.55.45-1 1-1h34.77c.55 0 1 .45 1 1v45.53c0 .55.45 1 1 1h7.35c.55 0 1 .45 1 1v17.28c0 .55.45 1 1 1h15.5c.55 0 1 .45 1 1v43.27c0 .55-.45 1-1 1h-5.21c-.55 0-1 .45-1 1v7.83c0 .55-.45 1-1 1h-20.77c-.55 0-1-.45-1-1v-3.39c0-.55-.45-1-1-1H91.79c-.55 0-1-.45-1-1v-3.85c0-.55-.45-1-1-1H42.81c-.55 0-1 .45-1 1v1.61c0 .55-.45 1-1 1Z", +// text: { +// x: 85, +// y: 232, +// unitNumber: "1", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 2, +// path: "M55.26 380.44H5.31c-.55 0-1-.45-1-1v-84.9c0-.55.45-1 1-1h106.12c.55 0 1 .45 1 1v7.76c0 .55.45 1 1 1h7.72c.55 0 1 .45 1 1v20.02c0 .55-.45 1-1 1h-15.92c-.55 0-1 .45-1 1v10.4c0 .55-.45 1-1 1h-8.72c-.55 0-1 .45-1 1v8.03c0 .55-.45 1-1 1H57.26c-.55 0-1 .45-1 1v30.68c0 .55-.45 1-1 1Z", +// text: { +// x: 56, +// y: 315, +// unitNumber: "2", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 3, +// path: "M58.6 381.25v-21.73c0-.55.45-1 1-1h15.96c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h27.58c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5.4.9.9.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-9.29 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03H60.46c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1h1.59c.55 0 1-.45 1-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", +// text: { +// x: 107, +// y: 390, +// unitNumber: "3", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 4, +// path: "M161.1 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1h-37.88c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", +// text: { +// x: 183, +// y: 390, +// unitNumber: "4", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 5, +// path: "M213.32 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", +// text: { +// x: 239, +// y: 390, +// unitNumber: "5", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 6, +// path: "M268.37 381.25v-21.73c0-.55.45-1 1-1h15.52c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h28.02c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5-.04.9.46.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-8.85 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03h-18.33c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1s.75-.45.75-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", +// text: { +// x: 316, +// y: 390, +// unitNumber: "6", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 7, +// path: "M371.29 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1H373.3c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", +// text: { +// x: 393, +// y: 390, +// unitNumber: "7", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 8, +// path: "M423.5 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", +// text: { +// x: 451, +// y: 397, +// unitNumber: "8", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 9, +// path: "M483.58 337.26v-9.76h42.64v22.41h30V358h17.46v24.14h-4.02v48.93h4.12v18.59l-11.74 12.61a8.01 8.01 0 0 1-7.98 2.26l-53.9-14.87h-19.7v-18.59h1.67v-49h-3.95v-44.79h5.4Z", +// text: { +// x: 500, +// y: 390, +// unitNumber: "9", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 10, +// path: "M576.92 380.43h51.77c.55 0 1-.45 1-1v-85c0-.55-.45-1-1-1H520.87c-.55 0-1 .45-1 1v7.87c0 .55-.45 1-1 1h-7.41c-.55 0-1 .45-1 1v20.02c0 .55.45 1 1 1h15.92c.55 0 1 .45 1 1v10.5c0 .55.45 1 1 1h8.72c.55 0 1 .45 1 1v7.94c0 .55.45 1 1 1h34.82c.55 0 1 .45 1 1v30.68c0 .55.45 1 1 1Z", +// text: { +// x: 570, +// y: 316, +// unitNumber: "10", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 11, +// path: "M495.64 241.6h-17.41v45.48h7.19v10.13h22.29v-4.45h12.26v-1.33h22.81v-6.06h47.75v4.76h18.55v-9.82h8.52v-46.33H495.63v7.62Z", +// text: { +// x: 495, +// y: 260, +// unitNumber: "11", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 12, +// path: "M495.64 223.94h-17.41v-44.9h7.19v-10.13h22.29v4.45h12.26v1.33h22.81v6.06h47.75v-4.76h18.55v9.82h8.52v45.75H495.63v-7.62Z", +// text: { +// x: 495, +// y: 200, +// unitNumber: "12", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 13, +// path: "M576.92 85.4h51.77c.55 0 1 .45 1 1v84.99c0 .55-.45 1-1 1h-107.5c-.55 0-1-.45-1-1v-7.86c0-.55-.45-1-1-1h-7.73c-.55 0-1-.45-1-1v-20.02c0-.55.45-1 1-1h15.92c.55 0 1-.45 1-1l-.04-10.95c0-.55.45-1 1-1h8.37c.55 0 1-.44 1-1l.04-7.86c0-.55.45-.99 1-.99h35.18c.55 0 1-.45 1-1V86.4c0-.55.45-1 1-1Z", +// text: { +// x: 555, +// y: 85, +// unitNumber: "13", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 14, +// path: "M483.58 128.54v9.76h42.64v-22.41h30v-8.08h17.46V83.67h-4.02V34.74h4.12V16.15L562.04 3.54a8.01 8.01 0 0 0-7.98-2.26l-53.9 14.87h-19.7v18.59h1.67v49h-3.95v44.79h5.4Z", +// text: { +// x: 500, +// y: 85, +// unitNumber: "14", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 15, +// path: "M423.5 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", +// text: { +// x: 445, +// y: 85, +// unitNumber: "15", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 16, +// path: "M371.29 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1H373.3c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", +// text: { +// x: 390, +// y: 85, +// unitNumber: "16", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 17, +// path: "M268.37 85.09v21.73c0 .55.45 1 1 1h15.52c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h28.02c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5-.04-.9.46-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-8.85-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03h-18.33c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1s.75.45.75 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", +// text: { +// x: 290, +// y: 85, +// unitNumber: "17", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 18, +// path: "M213.32 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", +// text: { +// x: 235, +// y: 85, +// unitNumber: "18", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 19, +// path: "M161.1 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1h-37.88c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", +// text: { +// x: 180, +// y: 85, +// unitNumber: "19", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 20, +// path: "M58.6 85.09v21.73c0 .55.45 1 1 1h15.96c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h27.58c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5.4-.9.9-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-9.29-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03H60.46c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1h1.59c.55 0 1 .45 1 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", +// text: { +// x: 85, +// y: 85, +// unitNumber: "20", +// unitType: "1 BR² — B", +// }, +// }, +// { +// id: 21, +// path: "M55.26 85.4H5.31c-.55 0-1 .45-1 1v84.99c0 .55.45 1 1 1h106.12c.55 0 1-.45 1-1v-7.86c0-.55.45-1 1-1h7.72c.55 0 1-.45 1-1v-20.02c0-.55-.45-1-1-1h-15.92c-.55 0-1-.45-1-1v-10.77c0-.55-.45-1-1-1h-8.72c-.55 0-1-.45-1-1v-8.03c0-.55-.45-1-1-1H57.26c-.55 0-1-.45-1-1V86.4c0-.55-.45-1-1-1", +// text: { +// x: 85, +// y: 85, +// unitNumber: "21", +// unitType: "1 BR² — B", +// }, +// }, +// ]; + +export type FloorPlanMasks = Map< + string, { - id: 1, - path: "M40.81 288.95h-16.7c-.55 0-1-.45-1-1v-6.52c0-.55-.45-1-1-1h-5.74c-.55 0-1-.45-1-1v-92.56c0-.55.45-1 1-1h5.78c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h17.34c.55 0 1 .45 1 1v2.5c0 .55.45 1 1 1h46.35c.55 0 1-.45 1-1v-3.38c0-.55.45-1 1-1h34.77c.55 0 1 .45 1 1v45.53c0 .55.45 1 1 1h7.35c.55 0 1 .45 1 1v17.28c0 .55.45 1 1 1h15.5c.55 0 1 .45 1 1v43.27c0 .55-.45 1-1 1h-5.21c-.55 0-1 .45-1 1v7.83c0 .55-.45 1-1 1h-20.77c-.55 0-1-.45-1-1v-3.39c0-.55-.45-1-1-1H91.79c-.55 0-1-.45-1-1v-3.85c0-.55-.45-1-1-1H42.81c-.55 0-1 .45-1 1v1.61c0 .55-.45 1-1 1Z", - text: { - x: 85, - y: 232, - unitNumber: "1", - unitType: "1 BR² — B", + d: string; + textTransform: [number, number]; + formattedUnitType: string; + } +>; + +export const floorPlanMarasiDriveEastMasks: FloorPlanMasks = new Map([ + [ + "01", + { + d: "m483.21 195.47 9.32-.1.04 50.46-11.7-.37-.08 18.74-22.25.21c-9.39.09-18.38 3.86-25.02 10.5l-2.35 2.36-58.78-58.78 2.19-2.19-1.99-1.99 16.28-16.28-4.55-4.55 9.75-9.75 4.88 4.89h84.13l.14 6.83Z", + textTransform: [416.83, 227.56], + formattedUnitType: "2BR", }, - }, - { - id: 2, - path: "M55.26 380.44H5.31c-.55 0-1-.45-1-1v-84.9c0-.55.45-1 1-1h106.12c.55 0 1 .45 1 1v7.76c0 .55.45 1 1 1h7.72c.55 0 1 .45 1 1v20.02c0 .55-.45 1-1 1h-15.92c-.55 0-1 .45-1 1v10.4c0 .55-.45 1-1 1h-8.72c-.55 0-1 .45-1 1v8.03c0 .55-.45 1-1 1H57.26c-.55 0-1 .45-1 1v30.68c0 .55-.45 1-1 1Z", - text: { - x: 56, - y: 315, - unitNumber: "2", - unitType: "1 BR² — B", + ], + [ + "02", + { + d: "M414.41,263.32l15.35,15.35-22.48,22.48-15.35-15.35-3.7,3.7-34.29-34.29-.86.86-12.93-12.93,4.14-4.14-2.85-2.84,1.41-1.41,7.61-7.61,9.14-9.14,4.65,4.65,4.73-4.73,45.42,45.42Z", + textTransform: [368.68, 256.57], + formattedUnitType: "ST", }, - }, - { - id: 3, - path: "M58.6 381.25v-21.73c0-.55.45-1 1-1h15.96c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h27.58c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5.4.9.9.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-9.29 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03H60.46c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1h1.59c.55 0 1-.45 1-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", - text: { - x: 107, - y: 390, - unitNumber: "3", - unitType: "1 BR² — B", + ], + [ + "03", + { + d: "m310.29 267.31-1.78 1.78-7.78 7.78-10.03 10.03 2.77 2.77-4.11 4.12 45.49 45.49 8.38-8.38 17.15 17.15 32.49-32.49-17.15-17.15 7.45-7.45-26.1-26.1-3.68 3.68-10.91-10.91-20.95 20.95-11.26-11.26Z", + textTransform: [324.71, 299.88], + formattedUnitType: "1BR", }, - }, - { - id: 4, - path: "M161.1 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1h-37.88c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", - text: { - x: 183, - y: 390, - unitNumber: "4", - unitType: "1 BR² — B", + ], + [ + "04", + { + d: "m282.06 295.54-1.44 1.44-7.66 7.66-8.99 8.99 4.64 4.64-6.05 6.05 11.13 11.13.93-.93 34.32 34.32-.94.94 15.33 15.33 23.68-23.68-15.33-15.33 3.54-3.54-47.32-47.32-3.07 3.07z", + textTransform: [288.32, 337.22], + formattedUnitType: "ST", }, - }, - { - id: 5, - path: "M213.32 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", - text: { - x: 239, - y: 390, - unitNumber: "5", - unitType: "1 BR² — B", + ], + [ + "05", + { + d: "m250.61 326.99-9.11 9.11-7.63 7.62-1.41 1.41 2.78 2.78-3.03 3.02 47.31 47.31 3.32-3.32 15.33 15.33 23.7-23.7-15.33-15.33-1.02 1.02-34.32-34.32 1.1-1.1-11.13-11.13-5.93 5.93-4.64-4.64Z", + textTransform: [260.74, 365.03], + formattedUnitType: "ST", }, - }, - { - id: 6, - path: "M268.37 381.25v-21.73c0-.55.45-1 1-1h15.52c.55 0 1-.45 1-1v-6.04c0-.55.45-1 1-1h28.02c.55 0 1-.45 1-1v-20.43c0-.55.45-1 1-1h40.56c.55 0 1 .45 1 1v7.82c0 .55.45 1 1 1h3.76c.55 0 1 .45 1 1v42.39c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1v47.49c0 .5-.04.9.46.9s.9.4.9.9v19.71c0 .27-.11.54-.31.72l-8.85 8.85a9 9 0 0 1-8.53 2.18l-52.8-14.11a1 1 0 0 0-.26-.03h-18.33c-.55 0-1-.45-1-1v-16.29c0-.55.45-1 1-1s.75-.45.75-1v-47.34c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1Z", - text: { - x: 316, - y: 390, - unitNumber: "6", - unitType: "1 BR² — B", + ], + [ + "06", + { + d: "m223.81 353.83-8.71 8.71-7.64 7.64-1.76 1.75 5.56 5.56-21.42 21.42 10.21 10.21 1.24-1.24 34.31 34.31 2.38-2.33 15.3 15.3 36.59-36.59-15.33-15.33 3.53-3.53-47.31-47.31-4.18 4.18-2.78-2.78Z", + textTransform: [223.49, 400.85], + formattedUnitType: "1BR", }, - }, - { - id: 7, - path: "M371.29 338.37h-3.25c-.55 0-1 .45-1 1v92.26h-1.17c-.41 0-.74.33-.74.74v17.24c0 .55.45 1 1 1h6.3c.17 0 .34.04.49.13l24.9 13.9a8.01 8.01 0 0 0 9.56-1.33l13.06-12.4a1 1 0 0 0 .29-.71V339.37c0-.55-.45-1-1-1h-6.55c-.55 0-1-.45-1-1v-8.3c0-.55-.45-1-1-1H373.3c-.55 0-1 .45-1 1v8.31c0 .55-.45 1-1 1Z", - text: { - x: 393, - y: 390, - unitNumber: "7", - unitType: "1 BR² — B", + ], + [ + "07", + { + d: "M161.65,415.95l-1.68,1.68-7.63,7.63-8.78,8.78,2.82,2.82-5.12,5.12,12.96,12.96.91-.91,34.31,34.31,3.43-3.43,15.33,15.33,36.7-36.7-15.33-15.32,2.41-2.41-34.31-34.31,1.13-1.13-10.21-10.21-21.37,21.37-5.56-5.56Z", + textTransform: [177.05, 447.24], + formattedUnitType: "1BR", }, - }, - { - id: 8, - path: "M423.5 338.37h3.38c.55 0 1-.45 1-1v-8.31c0-.55.45-1 1-1h38.33c.55 0 1 .45 1 1v8.3c0 .55.45 1 1 1h6.08c.55 0 1 .45 1 1v92.25h1.8v18.73s.11 3.35 0 3.46l-10.27 9.5a8.01 8.01 0 0 1-9.56 1.33l-24.9-13.9c-.15-.08-.32-.13-.49-.13h-9.38c-.55 0-1-.45-1-1V339.36c0-.55.45-1 1-1Z", - text: { - x: 451, - y: 397, - unitNumber: "8", - unitType: "1 BR² — B", + ], + [ + "08", + { + d: "M131.89,445.71l-7.35,7.35-7.66,7.66-18.05,18.05,2.49,2.49-6.78,6.78,11.47,11.47-1.52,1.52,3.36,3.36-4.88,4.88,43.05,53.14,51.96-51.96-19.57-19.57-.27-.27,3.31-3.31-29.8-29.8,1.16-1.16-12.96-12.96-5.14,5.14-2.82-2.82Z", + textTransform: [129.9, 499.95], + formattedUnitType: "1BR", }, - }, - { - id: 9, - path: "M483.58 337.26v-9.76h42.64v22.41h30V358h17.46v24.14h-4.02v48.93h4.12v18.59l-11.74 12.61a8.01 8.01 0 0 1-7.98 2.26l-53.9-14.87h-19.7v-18.59h1.67v-49h-3.95v-44.79h5.4Z", - text: { - x: 500, - y: 390, - unitNumber: "9", - unitType: "1 BR² — B", + ], + [ + "09", + { + d: "m116.69 430.53-7.3 7.3-7.69 7.69-18.05 18.05-2.57-2.57-6.8 6.8-11.42-11.42-1.95 1.95-3.17-3.17-4.37 4.37L0 416.28l51.9-51.9 19.55 19.55 3.23-3.23 43.01 43.01-3.92 3.91 2.91 2.91Z", + textTransform: [42.47, 413.14], + formattedUnitType: "1BR", }, - }, - { - id: 10, - path: "M576.92 380.43h51.77c.55 0 1-.45 1-1v-85c0-.55-.45-1-1-1H520.87c-.55 0-1 .45-1 1v7.87c0 .55-.45 1-1 1h-7.41c-.55 0-1 .45-1 1v20.02c0 .55.45 1 1 1h15.92c.55 0 1 .45 1 1v10.5c0 .55.45 1 1 1h8.72c.55 0 1 .45 1 1v7.94c0 .55.45 1 1 1h34.82c.55 0 1 .45 1 1v30.68c0 .55.45 1 1 1Z", - text: { - x: 570, - y: 316, - unitNumber: "10", - unitType: "1 BR² — B", + ], + [ + "10", + { + d: "m208.62 338.6-8.72 8.72-7.68 7.68-1.9 1.9-5.63-5.63-21.2 21.2-15.4-15.4 1.2-1.2-28.96-28.96 2.34-2.34-15.11-15.11 36.08-36.9 15.52 15.52 3.65-3.65 47.09 47.09-4.18 4.18 2.91 2.91Z", + textTransform: [143.08, 319.56], + formattedUnitType: "1BR", }, - }, - { - id: 11, - path: "M495.64 241.6h-17.41v45.48h7.19v10.13h22.29v-4.45h12.26v-1.33h22.81v-6.06h47.75v4.76h18.55v-9.82h8.52v-46.33H495.63v7.62Z", - text: { - x: 495, - y: 260, - unitNumber: "11", - unitType: "1 BR² — B", + ], + [ + "11", + { + d: "m235.49 311.73-9.17 9.17-7.67 7.67-1.35 1.35-2.91-2.91-3.09 3.09-47.09-47.09 3.37-3.37-15.52-15.52 23.73-23.73 15.55 15.5-1.05 1.05 34.22 34.22 1.05-1.05 11.15 11.15-5.84 5.84 4.62 4.62Z", + textTransform: [179.52, 282.3], + formattedUnitType: "ST", }, - }, - { - id: 12, - path: "M495.64 223.94h-17.41v-44.9h7.19v-10.13h22.29v4.45h12.26v1.33h22.81v6.06h47.75v-4.76h18.55v9.82h8.52v45.75H495.63v-7.62Z", - text: { - x: 495, - y: 200, - unitNumber: "12", - unitType: "1 BR² — B", + ], + [ + "12", + { + d: "M266.85,280.36l-1.47,1.47-7.54,7.54-9.17,9.17-4.62-4.62-5.9,5.9-11.15-11.15.88-.88-34.22-34.22-.88.88-15.52-15.52,23.6-23.6,15.52,15.52,3.55-3.55,47.08,47.08-3.06,3.06,2.91,2.91Z", + textTransform: [206.63, 254.63], + formattedUnitType: "ST", }, - }, - { - id: 13, - path: "M576.92 85.4h51.77c.55 0 1 .45 1 1v84.99c0 .55-.45 1-1 1h-107.5c-.55 0-1-.45-1-1v-7.86c0-.55-.45-1-1-1h-7.73c-.55 0-1-.45-1-1v-20.02c0-.55.45-1 1-1h15.92c.55 0 1-.45 1-1l-.04-10.95c0-.55.45-1 1-1h8.37c.55 0 1-.44 1-1l.04-7.86c0-.55.45-.99 1-.99h35.18c.55 0 1-.45 1-1V86.4c0-.55.45-1 1-1Z", - text: { - x: 555, - y: 85, - unitNumber: "13", - unitType: "1 BR² — B", + ], + [ + "13", + { + d: "m292.55 254.67-8.94 8.94-7.77 7.77-1.38 1.38-2.91-2.91-3.07 3.07-47.08-47.08 3.45-3.45-15.52-15.52L232 184.2l15.52 15.52 45.43 45.43-4.95 4.96 4.56 4.56Z", + textTransform: [235.49, 225.61], + formattedUnitType: "ST", }, - }, - { - id: 14, - path: "M483.58 128.54v9.76h42.64v-22.41h30v-8.08h17.46V83.67h-4.02V34.74h4.12V16.15L562.04 3.54a8.01 8.01 0 0 0-7.98-2.26l-53.9 14.87h-19.7v18.59h1.67v49h-3.95v44.79h5.4Z", - text: { - x: 500, - y: 85, - unitNumber: "14", - unitType: "1 BR² — B", + ], + [ + "14", + { + d: "m321.78 225.44-1.45 1.45-7.76 7.76-9 9-4.56-4.56-4.63 4.64-45.43-45.43-15.52-15.52 22.49-22.49 15.52 15.52 3.45-3.45 47.08 47.08-3.1 3.1 2.91 2.91Z", + textTransform: [262.01, 199.05], + formattedUnitType: "ST", }, - }, - { - id: 15, - path: "M423.5 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", - text: { - x: 445, - y: 85, - unitNumber: "15", - unitType: "1 BR² — B", + ], + [ + "15", + { + d: "m415.38 131.84-1.85 1.85-7.69 7.69-8.75 8.75-2.92-2.92-4.06 4.06-47.12-47.12 3.55-3.56-15.49-15.49 36.48-36.49 15.49 15.49 2.58-2.58 34.26 34.26 1.1-1.1 10.16 10.16-21.36 21.36 5.61 5.61Z", + textTransform: [365.57, 97], + formattedUnitType: "1BR", }, - }, - { - id: 16, - path: "M371.29 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1H373.3c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", - text: { - x: 390, - y: 85, - unitNumber: "16", - unitType: "1 BR² — B", + ], + [ + "16", + { + d: "M474.57 66.81c.12.12 2.82-2.72 4.16-4.16l-47.12-47.12-3.51 3.51-15.49-15.49-36.67 36.67 15.49 15.49-2.36 2.36 34.26 34.26-1.1 1.1 10.16 10.16 21.28-21.28 5.6 5.6 1.66-1.66 7.72-7.72c.08.08 5.91-5.85 8.82-8.82z", + textTransform: [411.74, 50.63], + formattedUnitType: "1BR", }, - }, - { - id: 17, - path: "M268.37 85.09v21.73c0 .55.45 1 1 1h15.52c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h28.02c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5-.04-.9.46-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-8.85-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03h-18.33c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1s.75.45.75 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", - text: { - x: 290, - y: 85, - unitNumber: "17", - unitType: "1 BR² — B", + ], +]); + +export const floorPlanMarasiDriveWestLowerMasks: FloorPlanMasks = new Map([ + [ + "01", + { + d: "m264.39 246.73 1.02 1.02-4.12 4.12 14.85 14.85-1.91 1.91 1.9 1.9-36.21 36.21-18.05 18.05-1.97-1.97a33.88 33.88 0 0 0-23.95-9.92h-19.67l.03-17.38-10.88-.03v-46.12h8.58v-6.29h77.87l4.43-4.43.95.94 7.13 7.13Z", + textTransform: [203.64, 278.77], + formattedUnitType: "2BR", }, - }, - { - id: 18, - path: "M213.32 128.98h3.38c.55 0 1 .45 1 1v8.31c0 .55.45 1 1 1h38.33c.55 0 1-.45 1-1v-8.3c0-.55.45-1 1-1h6.08c.55 0 1-.45 1-1V35.73h1.8V17s.11-3.35 0-3.46l-10.27-9.5a8.01 8.01 0 0 0-9.56-1.33l-24.9 13.9c-.15.08-.32.13-.49.13h-9.38c-.55 0-1 .45-1 1v110.24c0 .55.45 1 1 1Z", - text: { - x: 235, - y: 85, - unitNumber: "18", - unitType: "1 BR² — B", + ], + [ + "02", + { + d: "m304.47 286.8-1.14-1.14-7.04-7.04-8.46-8.46-4.12 4.12-4.36-4.36-42.07 42.07-14.11 14.11 20.7 20.7 14.11-14.11 3.22 3.22 31.77-31.77.92.92 11.88-11.88-3.83-3.83 2.53-2.53Z", + textTransform: [248.69, 310.41], + formattedUnitType: "ST", }, - }, - { - id: 19, - path: "M161.1 128.98h-3.25c-.55 0-1-.45-1-1V35.73h-1.17c-.41 0-.74-.33-.74-.74V17.75c0-.55.45-1 1-1h6.3c.17 0 .34-.04.49-.13l24.9-13.9a8.01 8.01 0 0 1 9.56 1.33l13.06 12.4c.19.19.29.44.29.71v110.83c0 .55-.45 1-1 1h-6.55c-.55 0-1 .45-1 1v8.3c0 .55-.45 1-1 1h-37.88c-.55 0-1-.45-1-1v-8.31c0-.55-.45-1-1-1Z", - text: { - x: 180, - y: 85, - unitNumber: "19", - unitType: "1 BR² — B", + ], + [ + "03", + { + d: "m351.18 333.52-9.25-9.25-7.07-7.07-1.77-1.77-10.17 10.17-19.33-19.33-9.92 9.92-3.17-3.17-24.45 24.45 6.83 6.83-15.75 15.75 30.05 30.05 15.75-15.75 7.58 7.59 42.01-42.01-3.87-3.87 2.53-2.53Z", + textTransform: [286.9, 345.23], + formattedUnitType: "1BR", }, - }, - { - id: 20, - path: "M58.6 85.09v21.73c0 .55.45 1 1 1h15.96c.55 0 1 .45 1 1v6.04c0 .55.45 1 1 1h27.58c.55 0 1 .45 1 1v20.43c0 .55.45 1 1 1h40.56c.55 0 1-.45 1-1v-7.82c0-.55.45-1 1-1h3.76c.55 0 1-.45 1-1V85.08c0-.55-.45-1-1-1h-2.44c-.55 0-1-.45-1-1V35.59c0-.5.4-.9.9-.9s.9-.4.9-.9V14.08c0-.27-.11-.54-.31-.72l-9.29-8.85a9 9 0 0 0-8.53-2.18l-52.8 14.11c-.08.02-.17.03-.26.03H60.46c-.55 0-1 .45-1 1v16.29c0 .55.45 1 1 1h1.59c.55 0 1 .45 1 1V83.1c0 .55-.45 1-1 1h-2.44c-.55 0-1 .45-1 1Z", - text: { - x: 85, - y: 85, - unitNumber: "20", - unitType: "1 BR² — B", + ], + [ + "04", + { + d: "m376.01 358.29-8.41-8.41-7.05-7.05-1.36-1.36-2.56 2.56-2.75-2.75-43.64 43.64 3.14 3.14-14.13 14.13 21.82 21.82 14.13-14.13-.87-.87 31.72-31.72.85.85 10.33-10.33-5.37-5.37z", + textTransform: [321.28, 383.69], + formattedUnitType: "ST", }, - }, - { - id: 21, - path: "M55.26 85.4H5.31c-.55 0-1 .45-1 1v84.99c0 .55.45 1 1 1h106.12c.55 0 1-.45 1-1v-7.86c0-.55.45-1 1-1h7.72c.55 0 1-.45 1-1v-20.02c0-.55-.45-1-1-1h-15.92c-.55 0-1-.45-1-1v-10.77c0-.55-.45-1-1-1h-8.72c-.55 0-1-.45-1-1v-8.03c0-.55-.45-1-1-1H57.26c-.55 0-1-.45-1-1V86.4c0-.55-.45-1-1-1", - text: { - x: 85, - y: 85, - unitNumber: "21", - unitType: "1 BR² — B", + ], + [ + "05", + { + d: "m404.68 386.96-1.16-1.16-7.09-7.09-8.35-8.35-4.15 4.15-5.41-5.42-10.33 10.33.99.99-31.72 31.72-.99-.99-14.13 14.13 21.71 21.71 14.13-14.13 3.23 3.23 43.64-43.64-2.93-2.93 2.56-2.56Z", + textTransform: [347.89, 411.09], + formattedUnitType: "ST", }, - }, -]; + ], + [ + "06", + { + d: "m430.61 412.89-1.57-1.56-7.08-7.08-9.33-9.33-2.56 2.56-3.86-3.86-42.07 42.07 7.64 7.64-15.69 15.69 30.49 30.49 15.69-15.69 6.63 6.63 24.46-24.46-3.18-3.18 9.93-9.93-19.74-19.74 10.23-10.23Z", + textTransform: [385.23, 440.62], + formattedUnitType: "1BR", + }, + ], + [ + "07", + { + d: "M486.5,460.74l1.79-.56,6.3,17.99-1.27.39,11.45,33.8-10.01,3.49c0,.15.92,2.97,2.01,6.22.55,1.63-.21,3.42-1.77,4.16l-50.88,24.06c-1.82.86-3.98-.04-4.64-1.94l-10.31-29.31c-.62-1.78.32-3.72,2.1-4.33l3.91-1.33-1.26-3.6,1.29-.44-8.1-23.26,35.14-12.1-1.4-4.43,16.15-5.52,9.52-3.29Z", + textTransform: [441.39, 528.45], + formattedUnitType: "1BR", + }, + ], + [ + "08", + { + d: "m500.78 455.79 16.51-5.61 1.39 4.2 35.35-11.92 7.77 22.96 1.28-.38 1.24 3.65 3.61-1.22c1.76-.59 3.67.35 4.28 2.11l9.99 28.94a3.39 3.39 0 0 1-2.42 4.4l-54.82 12.98c-1.69.4-3.42-.55-3.98-2.19l-2.17-6.31-9.95 3.41-11.22-33.56-1.47.43-6.36-17.98 1.8-.63 9.17-3.26Z", + textTransform: [540.98, 493.98], + formattedUnitType: "1BR", + }, + ], + [ + "09", + { + d: "M470.14,419.23l40.6-40.6-3.18-3.18,13.53-13.53-19.47-19.47-13.61,13.44-39.15,39.15,3.04,3.04-4.17,4.17,8.43,8.43,7.07,7.07,1.35,1.35,2.72-2.72,2.84,2.84Z", + textTransform: [466.53, 385.89], + formattedUnitType: "ST", + }, + ], + [ + "10", + { + d: "m500.52 341.36-13.53 13.53-39.15 39.15-3.07-3.07-4.17 4.17-8.29-8.29-7.13-7.13-1.27-1.27 2.72-2.72-2.71-2.71 40.6-40.6 3.22 3.22 13.44-13.61 19.34 19.34Z", + textTransform: [444.34, 361.63], + formattedUnitType: "ST", + }, + ], + [ + "11", + { + d: "m473.6 314.43-13.53 13.53 3.19 3.19-40.6 40.6-2.83-2.83-2.72 2.72-1.45-1.45-6.87-6.87-9.47-9.46 4.17-4.17-2.82-2.82 13.92-13.92.98.98 25.23-25.23-1-1 13.53-13.53 20.27 20.27Z", + textTransform: [417.58, 341.01], + formattedUnitType: "ST", + }, + ], + [ + "12", + { + d: "M452.09,292.93l-13.58,13.47-.72-.72-25.23,25.23.83.83-13.92,13.92-2.85-2.85-4.17,4.17-9.42-9.42-7.11-7.11-1.24-1.23,2.72-2.72-2.91-2.91,40.6-40.6,3.13,3.13,13.53-13.53,20.34,20.34Z", + textTransform: [396.29, 310.83], + formattedUnitType: "ST", + }, + ], + [ + "13", + { + d: "m424.28 265.11-13.53 13.53 3.16 3.16-40.6 40.6-2.85-2.85-2.72 2.72-1.26-1.26-7.16-7.16-8.52-8.52 4.17-4.17-2.77-2.77 39.15-39.15 13.53-13.53 19.39 19.39Z", + textTransform: [370.4, 289.11], + formattedUnitType: "ST", + }, + ], + [ + "14", + { + d: "M327.42,281.91l1.18,1.17,6.96,7.01,8.35,8.35,4.17-4.17,2.83,2.84,39.15-39.15,13.53-13.53-19.01-19.01-13.53,13.53-3.16-3.16-40.62,40.62,2.82,2.82-2.68,2.68Z", + textTransform: [347.25, 264.98], + formattedUnitType: "ST", + }, + ], + [ + "15", + { + d: "m264.5 213.65 43.59-43.59-3.15-3.15L319 152.85l-33.83-33.83-14.06 14.06-2.31-2.31-25.32 25.32-.88-.88-15.69 15.69 19.63 19.63-5.28 5.28 1.61 1.61 7.13 7.13 7.89 7.88 2.7-2.69z", + textTransform: [253.93, 171.38], + formattedUnitType: "1BR", + }, + ], + [ + "16", + { + d: "m200.89 155.43-1.67-1.67-7.02-7.15-8.01-8.01 2.63-2.63-3.88-3.89 43.59-43.59 3.26 3.26 14.06-14.06 33.69 33.69-14.06 14.06 2.22 2.23-25.32 25.32.97.97-15.69 15.69-19.49-19.49-5.28 5.28Z", + textTransform: [210.12, 130.71], + formattedUnitType: "1BR", + }, + ], + [ + "17", + { + d: "m169.41 2.98 33.1 33.11.67 1 32.88 32.88L222.03 84l3.29 3.29-43.59 43.59-3.84-3.84-2.69 2.69-10.9-10.9-9.67 9.67-46.6-46.6 2.99-2.99L97.3 65.19l20.87-20.87.65-.66 40.69-40.68a7.007 7.007 0 0 1 9.9 0", + textTransform: [149.83, 92.95], + formattedUnitType: "2BR", + }, + ], +]); + +export const floorPlanMarasiDriveWestUpperMasks: FloorPlanMasks = new Map([ + [ + "01", + { + d: "m256.62 238.83-4.55 4.56-77.95.04.08 6.33-8.57.23-.21 46.2 10.98-.02-.12 17.36 19.04-.1c9.51-.05 18.65 3.71 25.38 10.43l1.21 1.21 54.24-54.24-1.98-1.98 2.06-2.06-14.74-14.74 4.18-4.18-9.04-9.04Z", + textTransform: [203.66, 279.01], + formattedUnitType: "2BR", + }, + ], + [ + "02", + { + d: "m244.15 347.32-20.93-20.93 13.95-13.95 42.36-42.36 4.44 4.44 4.18-4.18 8.51 8.51 7.16 7.16 1.2 1.2-2.67 2.67 3.84 3.84-11.86 11.86-.98-.98-32.02 32.02-3.24-3.24-13.95 13.95Z", + textTransform: [247.92, 311.75], + formattedUnitType: "ST", + }, + ], + [ + "03", + { + d: "M333.82,316.09l1.65,1.65,7.18,7.18,9.19,9.19-2.73,2.73,3.93,3.93-42.04,42.04-7.69-7.69-15.68,15.68-30.28-30.29,15.68-15.68-6.64-6.64,24.39-24.39,3.12,3.12,10.05-10.05,19.54,19.54,10.32-10.33Z", + textTransform: [287.28, 345.89], + formattedUnitType: "1BR", + }, + ], + [ + "04", + { + d: "m357.37 345.08-3.16-3.16-43.76 43.76 3.26 3.26-14.09 14.09 22.17 22.17 14.09-14.09-1.14-1.14 31.98-31.99 1.11 1.1 10.42-10.42-5.47-5.47 4.08-4.08-8.5-8.5-7.05-7.05-1.21-1.21z", + textTransform: [321.97, 384.61], + formattedUnitType: "ST", + }, + ], + [ + "05", + { + d: "M389.02,371.28l8.29,8.29,7.16,7.16,1.29,1.28-2.66,2.66,2.74,2.74-43.83,43.83-3.08-3.07-14.08,14.09-21.98-21.98,14.08-14.09,1.06,1.06,31.99-31.98-1.06-1.06,10.42-10.42,5.58,5.58,4.08-4.08Z", + textTransform: [348.54, 413.07], + formattedUnitType: "ST", + }, + ], + [ + "06", + { + d: "M413.66,395.92l9.27,9.27,7.05,7.05,1.75,1.75-10.26,10.26,19.35,19.35-10.14,10.14,3.16,3.16-24.37,24.37-6.56-6.55-15.79,15.79-30.15-30.15,15.79-15.79-7.74-7.75,42.12-42.12,3.88,3.88,2.66-2.66Z", + textTransform: [387, 439.66], + formattedUnitType: "1BR", + }, + ], + [ + "07", + { + d: "m461.65 470.47 1.31 4.54-35.04 12.13 7.97 23.33-1.3.43 1.22 3.71-3.73 1.17a3.395 3.395 0 0 0-2.19 4.34L440 549.37c.66 1.9 2.82 2.82 4.64 1.97l51.46-23.96a3.38 3.38 0 0 0 1.78-4.16l-2-5.93 10.04-3.56-11.78-34.3 1.19-.41-6.14-18.02-27.53 9.46Z", + textTransform: [446.29, 525.79], + formattedUnitType: "1BR", + }, + ], + [ + "08", + { + d: "m518.29 451-27.67 9.51 6.34 17.89 1.46-.42 11.67 34.18 10.32-3.68 1.85 6.1a3.394 3.394 0 0 0 4.02 2.32l55.19-12.9a3.393 3.393 0 0 0 2.43-4.42l-10.11-29.13a3.395 3.395 0 0 0-4.24-2.12l-4.15 1.33-1.33-3.56-1.14.43-8.12-23.31-35.19 12.02-1.32-4.26Z", + textTransform: [542.62, 496.41], + formattedUnitType: "1BR", + }, + ], + [ + "09", + { + d: "m511.97 378.73.92-.92-2.98-2.98 12.22-12.22-38.3-38.3-12.22 12.22-3.19-3.19-42.16 42.16 3.9 3.9-2.57 2.57 9.43 9.43 6.9 6.9 1.69 1.68 10.29-10.29 19.42 19.42 10.09-10.09 3.13 3.13 23.43-23.43Z", + textTransform: [456.32, 371.77], + formattedUnitType: "1BR", + }, + ], + [ + "10", + { + d: "m419.72 374.11-1.39-1.39-6.73-6.73-8.63-8.63 4.21-4.21-5.51-5.51 13.88-13.88 1.02 1.02 25.55-25.55-1.01-1.01 2.69-2.69 14.1-14.1 21.79 21.79-14.1 14.1 3.14 3.14-43.76 43.76-2.67-2.67-2.57 2.57Z", + textTransform: [423.53, 337.86], + formattedUnitType: "ST", + }, + ], + [ + "11", + { + d: "m376.48 325.78-3.03-3.03 43.79-43.8 3.3 3.3 14.1-14.1 22.12 22.12-14.1 14.1-2.69 2.7-1.14-1.14-25.55 25.55 1.12 1.12-13.88 13.88-5.58-5.58-4.21 4.21-8.75-8.75-6.72-6.72-1.33-1.33 2.54-2.54Z", + textTransform: [398.74, 310.37], + formattedUnitType: "ST", + }, + ], + [ + "12", + { + d: "m365.82 320.22-9.26-9.26-7.07-7.07-1.72-1.72 10.25-10.25-19.53-19.53 10.08-10.08-3.13-3.13 24.46-24.46 3.16 3.16 12.16-12.16 38.3 38.3-12.16 12.16 3.13 3.13-42.25 42.25-3.88-3.88z", + textTransform: [360, 272.68], + formattedUnitType: "1BR", + }, + ], + [ + "13", + { + d: "M260.81,210.14l3.89,3.89,43.73-43.73-3.36-3.36,14.18-14.18-33.66-33.66-14.18,14.18-2.24-2.24-25.4,25.4-.98-.98-15.69,15.69,19.65,19.66-5.17,5.17,1.53,1.54,7.24,7.24,7.91,7.91,2.54-2.54Z", + textTransform: [256.04, 167.62], + formattedUnitType: "1BR", + }, + ], + [ + "14", + { + d: "M240.46,153.11l25.4-25.4-2.22-2.22,14.18-14.17-33.59-33.59-14.17,14.17-3.25-3.25-43.69,43.69,3.89,3.89-2.57,2.58,8.06,8.06,7.1,7.1,1.5,1.5,5.17-5.17,19.54,19.54,15.69-15.69-1.03-1.03Z", + textTransform: [213.28, 124.83], + formattedUnitType: "1BR", + }, + ], + [ + "15", + { + d: "m222.75 83.92 13.84-13.84-33.29-33.29c-.12-.18-.39-.56-.45-.61L169.58 2.91a7.007 7.007 0 0 0-9.9 0l-40.71 40.71-.69.69L97.2 65.4l13.65 13.65.21.21-2.89 2.89 46.6 46.6 9.79-9.79 11.02 11.02 2.57-2.57 3.84 3.84 43.69-43.69-3.28-3.28.35-.35Z", + textTransform: [149.86, 91.09], + formattedUnitType: "2BR", + }, + ], +]); diff --git a/src/pages/FloorsPage.tsx b/src/pages/FloorsPage.tsx index 818de8d..73c3609 100644 --- a/src/pages/FloorsPage.tsx +++ b/src/pages/FloorsPage.tsx @@ -134,8 +134,18 @@ function FloorsPage() { /> -
- +
+ setPosition({ x: e.clientX, y: e.clientY }) + } + > + {unitsOnFloor && ( + + )}
@@ -235,14 +245,16 @@ function FloorsPage() { selectedFloor={selectedFloor.split(" ").at(-1)!} /> )} - {selectedFloor.split(" ")[0] === "West" && ( + {selectedFloor.split(" ")[0] === "West" && unitsOnFloor && ( <> {+selectedFloor.split(" ")[1] < 24 ? ( ) : ( )}