diff --git a/.env b/.env
index 0b988dc..47b1f29 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,2 @@
-VITE_API_URL=http://localhost:4002
-# VITE_API_URL=http://194.26.138.94:4002
\ No newline at end of file
+# VITE_API_URL=http://localhost:4002
+VITE_API_URL=http://194.26.138.94:4002
\ No newline at end of file
diff --git a/public/images/test.png b/public/images/floor-plans/dubai-marina/floor-plan_7-38.png
similarity index 100%
rename from public/images/test.png
rename to public/images/floor-plans/dubai-marina/floor-plan_7-38.png
diff --git a/public/images/floor-plans/marasi-drive/sky-garden.png b/public/images/floor-plans/marasi-drive/sky-garden.png
new file mode 100644
index 0000000..6d03347
Binary files /dev/null and b/public/images/floor-plans/marasi-drive/sky-garden.png differ
diff --git a/src/components/FloorPlanDubaiMarina.tsx b/src/components/FloorPlanDubaiMarina.tsx
index 78fb9e6..bf16b95 100644
--- a/src/components/FloorPlanDubaiMarina.tsx
+++ b/src/components/FloorPlanDubaiMarina.tsx
@@ -1,4 +1,4 @@
-import { rooms } from "../data/room-masks/dubai-marina";
+import { floorPlanMasksDubaiMarina } from "../data/floor-plan-masks/dubai-marina";
interface FloorPlanDubaiMarinaProps {
selectedFloor: string | null;
@@ -20,29 +20,29 @@ function FloorPlanDubaiMarina({
// width={1264}
// height={935}
transform="scale(.5)"
- xlinkHref="/images/test.png"
+ xlinkHref="/images/floor-plans/dubai-marina/floor-plan_7-38.png"
/>
- {rooms.map((room) => (
+ {floorPlanMasksDubaiMarina.map((mask) => (
{
- console.log(room.text.unitNumber);
+ console.log(mask.text.unitNumber);
}}
>
-
+
{selectedFloor}
- {room.text.unitNumber.padStart(2, "0")}
+ {mask.text.unitNumber.padStart(2, "0")}
- {room.text.unitType}
+ {mask.text.unitType}
diff --git a/src/components/FloorPlanMarasiDrive.tsx b/src/components/FloorPlanMarasiDrive.tsx
new file mode 100644
index 0000000..ad6293a
--- /dev/null
+++ b/src/components/FloorPlanMarasiDrive.tsx
@@ -0,0 +1,54 @@
+import { floorPlanMasksMarasiDrive } from "../data/floor-plan-masks/marasi-drive";
+
+interface FloorPlanMarasiDriveProps {
+ selectedFloor: string | null;
+}
+
+function FloorPlanMarasiDrive({
+ selectedFloor,
+ ...props
+}: FloorPlanMarasiDriveProps & React.SVGProps) {
+ return (
+
+ );
+}
+
+export default FloorPlanMarasiDrive;
diff --git a/src/components/FloorSelect.tsx b/src/components/FloorSelect.tsx
index fb484f2..f85b60d 100644
--- a/src/components/FloorSelect.tsx
+++ b/src/components/FloorSelect.tsx
@@ -78,7 +78,13 @@ function FloorSelect({
});
function handleFloorClick(floor: string) {
- onSelect(floor.split(" ").at(-1)!);
+ if (
+ ["Rooftop", "Ground Level", "Podium Level", "Sky Garden"].includes(floor)
+ ) {
+ onSelect(floor);
+ } else {
+ onSelect(floor.split(" ").at(-1)!);
+ }
}
return (
@@ -112,7 +118,15 @@ function FloorSelect({
d={d}
className={clsx(
"fill-[#00BED7] cursor-pointer transition-opacity duration-300 hover:opacity-60 peer",
- selectedFloor === floorTitle.split(" ").at(-1)
+ selectedFloor ===
+ ([
+ "Rooftop",
+ "Ground Level",
+ "Podium Level",
+ "Sky Garden",
+ ].includes(floorTitle)
+ ? floorTitle
+ : floorTitle.split(" ").at(-1)!)
? "opacity-60"
: "opacity-20"
)}
diff --git a/src/components/FloorSidebar.tsx b/src/components/FloorSidebar.tsx
index c5029f1..96384ea 100644
--- a/src/components/FloorSidebar.tsx
+++ b/src/components/FloorSidebar.tsx
@@ -26,7 +26,7 @@ function FloorSidebar({
className="absolute top-[1.667vw] right-[1.667vw]"
onClick={onClose}
>
-
+
diff --git a/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx
new file mode 100644
index 0000000..ec90e03
--- /dev/null
+++ b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx
@@ -0,0 +1,5 @@
+function GroundMarasiDrive() {
+ return Ground
;
+}
+
+export default GroundMarasiDrive;
diff --git a/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx
new file mode 100644
index 0000000..9362315
--- /dev/null
+++ b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx
@@ -0,0 +1,5 @@
+function PodiumMarasiDrive() {
+ return Podium
;
+}
+
+export default PodiumMarasiDrive;
diff --git a/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx
new file mode 100644
index 0000000..b3742f0
--- /dev/null
+++ b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx
@@ -0,0 +1,5 @@
+function RooftopMarasiDrive() {
+ return Rooftop
;
+}
+
+export default RooftopMarasiDrive;
diff --git a/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx
new file mode 100644
index 0000000..6dbc6e9
--- /dev/null
+++ b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx
@@ -0,0 +1,26 @@
+import AmenitiesBadge from "../../icons/AmenitiesBadge";
+import Badge from "../../ui/Badge";
+
+function SkyGardenMarasiDrive() {
+ return (
+
+
+
+
+

+
+
+ );
+}
+
+export default SkyGardenMarasiDrive;
diff --git a/src/components/icons/AmenitiesBadge.tsx b/src/components/icons/AmenitiesBadge.tsx
new file mode 100644
index 0000000..2023860
--- /dev/null
+++ b/src/components/icons/AmenitiesBadge.tsx
@@ -0,0 +1,17 @@
+interface AmenitiesBadgeProps {
+ count: number;
+ type: "Indoor" | "Outdoor";
+}
+
+function AmenitiesBadge({ count, type }: AmenitiesBadgeProps) {
+ return (
+
+ );
+}
+
+export default AmenitiesBadge;
diff --git a/src/components/ui/Badge.tsx b/src/components/ui/Badge.tsx
new file mode 100644
index 0000000..cb3315c
--- /dev/null
+++ b/src/components/ui/Badge.tsx
@@ -0,0 +1,23 @@
+import clsx from "clsx";
+
+interface BadgeProps {
+ variant: "primary" | "secondary";
+ text: string;
+ className?: string;
+}
+
+function Badge({ variant, text, className }: BadgeProps) {
+ return (
+
+ );
+}
+export default Badge;
diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx
index dc187a3..6fd5b9f 100644
--- a/src/components/ui/Button.tsx
+++ b/src/components/ui/Button.tsx
@@ -38,8 +38,8 @@ function Button({
: "2xl:px-[0.972vw] 2xl:py-[0.694vw] 2xl:gap-[0.278vw] px-3 py-2.5 gap-1"),
size === "small" &&
(onlyIcon
- ? "2xl:p-[0.694vw] p-2.5"
- : "2xl:px-[0.972vw] 2xl:py-[0.694vw] 2xl:gap-[0.278vw] 2xl:text-[0.833vw] px-3 py-2.5 gap-1 text-xs"),
+ ? "2xl:p-[0.556vw] p-2"
+ : "2xl:px-[0.889vw] 2xl:py-[0.556vw] 2xl:gap-[0.278vw] 2xl:text-[0.833vw] px-3 py-2 gap-1 text-btn-s"),
],
variant === "link" && "text-sm text-black/50 w-fit",
variant === "primary" &&
diff --git a/src/data/room-masks/dubai-marina.ts b/src/data/floor-plan-masks/dubai-marina.ts
similarity index 99%
rename from src/data/room-masks/dubai-marina.ts
rename to src/data/floor-plan-masks/dubai-marina.ts
index 5cbfcdf..d74b785 100644
--- a/src/data/room-masks/dubai-marina.ts
+++ b/src/data/floor-plan-masks/dubai-marina.ts
@@ -1,4 +1,4 @@
-export const rooms = [
+export const floorPlanMasksDubaiMarina = [
{
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",
diff --git a/src/data/floor-plan-masks/marasi-drive.ts b/src/data/floor-plan-masks/marasi-drive.ts
new file mode 100644
index 0000000..5c4cd01
--- /dev/null
+++ b/src/data/floor-plan-masks/marasi-drive.ts
@@ -0,0 +1,212 @@
+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: "qwe",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "####",
+ unitType: "##########",
+ },
+ },
+ {
+ 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: "709",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "708",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "707",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "706",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "705",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "704",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "703",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "702",
+ unitType: "1 BR",
+ },
+ },
+ {
+ 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: "701",
+ unitType: "1 BR² — B",
+ },
+ },
+];
diff --git a/src/pages/FloorsPage.tsx b/src/pages/FloorsPage.tsx
index 9d64c9d..531fd27 100644
--- a/src/pages/FloorsPage.tsx
+++ b/src/pages/FloorsPage.tsx
@@ -7,6 +7,12 @@ import Select from "../components/ui/Select";
import { useQuery } from "@tanstack/react-query";
import { api } from "../api/ky";
import UnitTypeBadge from "../components/UnitTypeBadge";
+import FloorPlanMarasiDrive from "../components/FloorPlanMarasiDrive";
+import RooftopMarasiDrive from "../components/floor-plans/marasi-drive/RooftopMarasiDrive";
+import GroundMarasiDrive from "../components/floor-plans/marasi-drive/GroundMarasiDrive";
+import PodiumMarasiDrive from "../components/floor-plans/marasi-drive/PodiumMarasiDrive";
+import SkyGardenMarasiDrive from "../components/floor-plans/marasi-drive/SkyGardenMarasiDrive";
+import Badge from "../components/ui/Badge";
function FloorsPage() {
const { complexName } = useParams();
@@ -45,12 +51,14 @@ function FloorsPage() {
@@ -78,6 +86,24 @@ function FloorsPage() {
)}
+ {complexName === "marasi-drive" && (
+ <>
+ {selectedFloor === "Rooftop" && }
+ {selectedFloor === "Ground Level" && }
+ {selectedFloor === "Podium Level" && }
+ {selectedFloor === "Sky Garden" && }
+ {!!parseInt(selectedFloor!) && (
+
+
+
{selectedFloor} floor
+
+
+
+
+
+ )}
+ >
+ )}
);