-
-
- {`${unit.unitNo.split("-")[0] === "W" ? "West" : "East"} Wing`}
-
-
-
+ {unit.wing && (
+ <>
+
+ {unit.wing} Wing
+
+
+ >
+ )}
+
Floor {unit.floor}
{unit.unitNo}
@@ -75,16 +78,16 @@ function UnitCard({ unit }: { unit: Unit }) {
- {`${formattedUnitTypes.get(
- unit.unitType
- ) || unit.unitType}, ${unit.squareFt.toLocaleString(undefined, {
+ {`${
+ formattedUnitTypes.get(unit.unitType) || unit.unitType
+ }, ${unit.squareFt.toLocaleString(undefined, {
maximumFractionDigits: 2,
})} Sqft`}
diff --git a/src/components/UnitTypeImageWithMarkers.tsx b/src/components/UnitTypeImageWithMarkers.tsx
index fe4e3bc..971ef42 100644
--- a/src/components/UnitTypeImageWithMarkers.tsx
+++ b/src/components/UnitTypeImageWithMarkers.tsx
@@ -4,8 +4,8 @@ export interface UnitTypeImageWithMarkersProps {
complexName: string;
legend: {
name: string;
- x: [number, number];
- y: [number, number];
+ left: { x: number; y: number };
+ right: { x: number; y: number };
floor?: "lower" | "upper";
}[];
floor?: "lower" | "upper";
@@ -59,51 +59,53 @@ function UnitTypeImageWithMarkers({
isolation: "isolate",
}}
/>
- {filteredLegend.map((item, index) => (
-
setHoveredIndex(index)}
- onMouseLeave={() => setHoveredIndex(null)}
- />
- ))}
- {filteredLegend.map((item, index) => (
-
+ {filteredLegend.map((item, index) => {
+ const coords = unitTypeVariant?.endsWith("left") ? item.left : item.right;
+ return (
setHoveredIndex(index)}
+ onMouseLeave={() => setHoveredIndex(null)}
/>
- {
+ const coords = unitTypeVariant?.endsWith("left") ? item.left : item.right;
+ return (
+
- {item.name}
-
-
- ))}
+
+
+ {item.name}
+
+
+ );
+ })}
);
}
diff --git a/src/data/projects.ts b/src/data/projects.ts
index 8863d5d..35e09f8 100644
--- a/src/data/projects.ts
+++ b/src/data/projects.ts
@@ -27,43 +27,43 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [279, 353],
- y: [562, 563],
+ left: { x: 279, y: 562 },
+ right: { x: 353, y: 563 },
},
{
name: "Kitchen",
- x: [263, 365],
- y: [499, 500],
+ left: { x: 263, y: 499 },
+ right: { x: 365, y: 500 },
},
{
name: "Living Room & Bedroom",
- x: [255, 381],
- y: [255, 256],
+ left: { x: 255, y: 255 },
+ right: { x: 381, y: 256 },
},
{
name: "Bathroom",
- x: [363, 271],
- y: [519, 520],
+ left: { x: 363, y: 519 },
+ right: { x: 271, y: 520 },
},
{
name: "Balcony",
- x: [309, 319],
- y: [93, 94],
+ left: { x: 309, y: 93 },
+ right: { x: 319, y: 94 },
},
{
name: "Ori Cloud Bed",
- x: [404, 228],
- y: [253, 254],
+ left: { x: 404, y: 253 },
+ right: { x: 228, y: 254 },
},
{
name: "Bi-fold Glass Doors",
- x: [364, 269],
- y: [157, 158],
+ left: { x: 364, y: 157 },
+ right: { x: 269, y: 158 },
},
{
name: "Laundry",
- x: [337, 293],
- y: [446, 447],
+ left: { x: 337, y: 446 },
+ right: { x: 293, y: 447 },
},
],
tourAvailable: true,
@@ -88,48 +88,48 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [273, 359],
- y: [569, 569],
+ left: { x: 273, y: 569 },
+ right: { x: 359, y: 569 },
},
{
name: "Kitchen",
- x: [261, 373],
- y: [506, 506],
+ left: { x: 261, y: 506 },
+ right: { x: 373, y: 506 },
},
{
name: "Living Room & Bedroom",
- x: [252, 380],
- y: [270, 270],
+ left: { x: 252, y: 270 },
+ right: { x: 380, y: 270 },
},
{
name: "Bathroom",
- x: [360, 273],
- y: [532, 532],
+ left: { x: 360, y: 532 },
+ right: { x: 273, y: 532 },
},
{
name: "Balcony",
- x: [312, 320],
- y: [91, 87],
+ left: { x: 312, y: 91 },
+ right: { x: 320, y: 87 },
},
{
name: "Flexibed",
- x: [403, 235],
- y: [270, 270],
+ left: { x: 403, y: 270 },
+ right: { x: 235, y: 270 },
},
{
name: "Bi-fold Glass Doors",
- x: [360, 276],
- y: [150, 150],
+ left: { x: 360, y: 150 },
+ right: { x: 276, y: 150 },
},
{
name: "Drop Down Study",
- x: [331, 300],
- y: [462, 461],
+ left: { x: 331, y: 462 },
+ right: { x: 300, y: 461 },
},
{
name: "Laundry",
- x: [387, 251],
- y: [406, 406],
+ left: { x: 387, y: 406 },
+ right: { x: 251, y: 406 },
},
],
tourAvailable: true,
@@ -154,53 +154,53 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [490, 144],
- y: [564, 564],
+ left: { x: 490, y: 564 },
+ right: { x: 144, y: 564 },
},
{
name: "Kitchen & Dining Area",
- x: [494, 134],
- y: [454, 454],
+ left: { x: 494, y: 454 },
+ right: { x: 134, y: 454 },
},
{
name: "Bedroom",
- x: [227, 392],
- y: [348, 348],
+ left: { x: 227, y: 348 },
+ right: { x: 392, y: 348 },
},
{
name: "Bathroom",
- x: [246, 387],
- y: [512, 512],
+ left: { x: 246, y: 512 },
+ right: { x: 387, y: 512 },
},
{
name: "Living Room",
- x: [494, 144],
- y: [322, 322],
+ left: { x: 494, y: 322 },
+ right: { x: 144, y: 322 },
},
{
name: "Balcony",
- x: [192, 441],
- y: [96, 96],
+ left: { x: 192, y: 96 },
+ right: { x: 441, y: 96 },
},
{
name: "Flexibed",
- x: [540, 97],
- y: [234, 230],
+ left: { x: 540, y: 234 },
+ right: { x: 97, y: 230 },
},
{
name: "Laundry",
- x: [315, 319],
- y: [462, 462],
+ left: { x: 315, y: 462 },
+ right: { x: 319, y: 462 },
},
{
name: "Bi-fold Glass Doors",
- x: [463, 168],
- y: [122, 122],
+ left: { x: 463, y: 122 },
+ right: { x: 168, y: 122 },
},
{
name: "Study",
- x: [134, 498],
- y: [400, 398],
+ left: { x: 134, y: 400 },
+ right: { x: 498, y: 398 },
},
],
},
@@ -224,48 +224,48 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [219, 221],
- y: [556, 78],
+ left: { x: 219, y: 556 },
+ right: { x: 221, y: 78 },
},
{
name: "Kitchen & Dining Area",
- x: [160, 159],
- y: [487, 147],
+ left: { x: 160, y: 487 },
+ right: { x: 159, y: 147 },
},
{
name: "Bedroom",
- x: [374, 360],
- y: [423, 227],
+ left: { x: 374, y: 423 },
+ right: { x: 360, y: 227 },
},
{
name: "Bathroom",
- x: [358, 356],
- y: [522, 112],
+ left: { x: 358, y: 522 },
+ right: { x: 356, y: 112 },
},
{
name: "Living Room",
- x: [187, 183],
- y: [354, 280],
+ left: { x: 187, y: 354 },
+ right: { x: 183, y: 280 },
},
{
name: "Balcony",
- x: [350, 344],
- y: [100, 534],
+ left: { x: 350, y: 100 },
+ right: { x: 344, y: 534 },
},
{
name: "Flexibed",
- x: [126, 135],
- y: [274, 360],
+ left: { x: 126, y: 274 },
+ right: { x: 135, y: 360 },
},
{
name: "Laundry",
- x: [292, 292],
- y: [475, 159],
+ left: { x: 292, y: 475 },
+ right: { x: 292, y: 159 },
},
{
name: "Bi-fold Glass Doors",
- x: [186, 183],
- y: [174, 460],
+ left: { x: 186, y: 174 },
+ right: { x: 183, y: 460 },
},
],
},
@@ -289,58 +289,58 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [359, 273],
- y: [566, 568],
+ left: { x: 359, y: 566 },
+ right: { x: 273, y: 568 },
},
{
name: "Kitchen & Dining Area",
- x: [442, 190],
- y: [490, 492],
+ left: { x: 442, y: 490 },
+ right: { x: 190, y: 492 },
},
{
name: "Living Room",
- x: [403, 229],
- y: [337, 339],
+ left: { x: 403, y: 337 },
+ right: { x: 229, y: 339 },
},
{
name: "Bedroom",
- x: [207, 425],
- y: [333, 335],
+ left: { x: 207, y: 333 },
+ right: { x: 425, y: 335 },
},
{
name: "Walk-in Closet",
- x: [206, 426],
- y: [407, 409],
+ left: { x: 206, y: 407 },
+ right: { x: 426, y: 409 },
},
{
name: "Bathroom",
- x: [214, 418],
- y: [477, 479],
+ left: { x: 214, y: 477 },
+ right: { x: 418, y: 479 },
},
{
name: "Balcony",
- x: [310, 322],
- y: [82, 84],
+ left: { x: 310, y: 82 },
+ right: { x: 322, y: 84 },
},
{
name: "Pocket Walls",
- x: [310, 322],
- y: [181, 183],
+ left: { x: 310, y: 181 },
+ right: { x: 322, y: 183 },
},
{
name: "Flexibed",
- x: [215, 417],
- y: [152, 154],
+ left: { x: 215, y: 152 },
+ right: { x: 417, y: 154 },
},
{
name: "Laundry",
- x: [302, 330],
- y: [413, 415],
+ left: { x: 302, y: 413 },
+ right: { x: 330, y: 415 },
},
{
name: "Bi-fold Glass Doors",
- x: [471, 161],
- y: [262, 264],
+ left: { x: 471, y: 262 },
+ right: { x: 161, y: 264 },
},
],
},
@@ -359,53 +359,53 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [373, 260],
- y: [558, 558],
+ left: { x: 373, y: 558 },
+ right: { x: 260, y: 558 },
},
{
name: "Kitchen & Dining Area",
- x: [462, 171],
- y: [504, 504],
+ left: { x: 462, y: 504 },
+ right: { x: 171, y: 504 },
},
{
name: "Living Room",
- x: [374, 259],
- y: [329, 329],
+ left: { x: 374, y: 329 },
+ right: { x: 259, y: 329 },
},
{
name: "Bedroom",
- x: [210, 423],
- y: [347, 347],
+ left: { x: 210, y: 347 },
+ right: { x: 423, y: 347 },
},
{
name: "Bathroom",
- x: [237, 396],
- y: [430, 430],
+ left: { x: 237, y: 430 },
+ right: { x: 396, y: 430 },
},
{
name: "Balcony",
- x: [319, 314],
- y: [111, 111],
+ left: { x: 319, y: 111 },
+ right: { x: 314, y: 111 },
},
{
name: "Pocket Walls",
- x: [318, 315],
- y: [204, 204],
+ left: { x: 318, y: 204 },
+ right: { x: 315, y: 204 },
},
{
name: "Flexibed",
- x: [478, 155],
- y: [279, 279],
+ left: { x: 478, y: 279 },
+ right: { x: 155, y: 279 },
},
{
name: "Laundry",
- x: [439, 194],
- y: [561, 561],
+ left: { x: 439, y: 561 },
+ right: { x: 194, y: 561 },
},
{
name: "Bi-fold Glass Doors",
- x: [222, 411],
- y: [180, 180],
+ left: { x: 222, y: 180 },
+ right: { x: 411, y: 180 },
},
],
tourAvailable: true,
@@ -425,63 +425,63 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [140, 493],
- y: [456, 456],
+ left: { x: 140, y: 456 },
+ right: { x: 493, y: 456 },
},
{
name: "Kitchen & Dining Area",
- x: [131, 502],
- y: [357, 357],
+ left: { x: 131, y: 357 },
+ right: { x: 502, y: 357 },
},
{
name: "Living Room",
- x: [232, 401],
- y: [330, 330],
+ left: { x: 232, y: 330 },
+ right: { x: 401, y: 330 },
},
{
name: "Bathroom",
- x: [202, 431],
- y: [461, 461],
+ left: { x: 202, y: 461 },
+ right: { x: 431, y: 461 },
},
{
name: "Master Bedroom",
- x: [486, 147],
- y: [364, 364],
+ left: { x: 486, y: 364 },
+ right: { x: 147, y: 364 },
},
{
name: "Master Bathroom",
- x: [534, 99],
- y: [434, 434],
+ left: { x: 534, y: 434 },
+ right: { x: 99, y: 434 },
},
{
name: "Bedroom",
- x: [341, 292],
- y: [283, 283],
+ left: { x: 341, y: 283 },
+ right: { x: 292, y: 283 },
},
{
name: "Balcony",
- x: [483, 150],
- y: [201, 201],
+ left: { x: 483, y: 201 },
+ right: { x: 150, y: 201 },
},
{
name: "Flexibed",
- x: [226, 407],
- y: [228, 228],
+ left: { x: 226, y: 228 },
+ right: { x: 407, y: 228 },
},
{
name: "Study Den",
- x: [346, 287],
- y: [436, 436],
+ left: { x: 346, y: 436 },
+ right: { x: 287, y: 436 },
},
{
name: "Bi-fold Glass Doors",
- x: [329, 304],
- y: [228, 228],
+ left: { x: 329, y: 228 },
+ right: { x: 304, y: 228 },
},
{
name: "Laundry",
- x: [289, 344],
- y: [380, 380],
+ left: { x: 289, y: 380 },
+ right: { x: 344, y: 380 },
},
],
},
@@ -505,68 +505,68 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [535, 535],
- y: [173, 173],
+ left: { x: 535, y: 173 },
+ right: { x: 535, y: 173 },
},
{
name: "Kitchen & Dining Area",
- x: [408, 408],
- y: [124, 124],
+ left: { x: 408, y: 124 },
+ right: { x: 408, y: 124 },
},
{
name: "Living Room",
- x: [279, 279],
- y: [172, 172],
+ left: { x: 279, y: 172 },
+ right: { x: 279, y: 172 },
},
{
name: "Bathroom",
- x: [479, 479],
- y: [241, 241],
+ left: { x: 479, y: 241 },
+ right: { x: 479, y: 241 },
},
{
name: "Master Bedroom",
- x: [384, 384],
- y: [448, 448],
+ left: { x: 384, y: 448 },
+ right: { x: 384, y: 448 },
},
{
name: "Master Bathroom",
- x: [479, 479],
- y: [344, 344],
+ left: { x: 479, y: 344 },
+ right: { x: 479, y: 344 },
},
{
name: "Bedroom",
- x: [305, 305],
- y: [228, 228],
+ left: { x: 305, y: 228 },
+ right: { x: 305, y: 228 },
},
{
name: "Balcony",
- x: [176, 176],
- y: [451, 451],
+ left: { x: 176, y: 451 },
+ right: { x: 176, y: 451 },
},
{
name: "Flexibed",
- x: [225, 225],
- y: [324, 324],
+ left: { x: 225, y: 324 },
+ right: { x: 225, y: 324 },
},
{
name: "Bi-fold Glass Doors",
- x: [131, 131],
- y: [114, 114],
+ left: { x: 131, y: 114 },
+ right: { x: 131, y: 114 },
},
{
name: "Laundry",
- x: [363, 363],
- y: [239, 239],
+ left: { x: 363, y: 239 },
+ right: { x: 363, y: 239 },
},
{
name: "Drop Down Study",
- x: [328, 328],
- y: [306, 306],
+ left: { x: 328, y: 306 },
+ right: { x: 328, y: 306 },
},
{
name: "Pocket Walls",
- x: [158, 158],
- y: [195, 195],
+ left: { x: 158, y: 195 },
+ right: { x: 158, y: 195 },
},
],
tourAvailable: true,
@@ -625,53 +625,53 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [283, 364],
- y: [558, 558],
+ left: { x: 283, y: 558 },
+ right: { x: 364, y: 558 },
},
{
name: "Kitchen",
- x: [267, 381],
- y: [463, 463],
+ left: { x: 267, y: 463 },
+ right: { x: 381, y: 463 },
},
{
name: "Bathroom",
- x: [376, 271],
- y: [512, 512],
+ left: { x: 376, y: 512 },
+ right: { x: 271, y: 512 },
},
{
name: "Laundry",
- x: [337, 311],
- y: [456, 456],
+ left: { x: 337, y: 456 },
+ right: { x: 311, y: 456 },
},
{
name: "Living & Bedroom",
- x: [299, 349],
- y: [308, 308],
+ left: { x: 299, y: 308 },
+ right: { x: 349, y: 308 },
},
{
name: "Flexibed",
- x: [415, 233],
- y: [304, 304],
+ left: { x: 415, y: 304 },
+ right: { x: 233, y: 304 },
},
{
name: "Study/Vanity Corner",
- x: [411, 237],
- y: [396, 396],
+ left: { x: 411, y: 396 },
+ right: { x: 237, y: 396 },
},
{
name: "Wardrobe",
- x: [233, 415],
- y: [212, 212],
+ left: { x: 233, y: 212 },
+ right: { x: 415, y: 212 },
},
{
name: "Bifold Glass Doors",
- x: [267, 381],
- y: [159, 159],
+ left: { x: 267, y: 159 },
+ right: { x: 381, y: 159 },
},
{
name: "Balcony",
- x: [335, 313],
- y: [97, 97],
+ left: { x: 335, y: 97 },
+ right: { x: 313, y: 97 },
},
],
tourAvailable: true,
@@ -700,63 +700,63 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [392, 256],
- y: [536, 536],
+ left: { x: 392, y: 536 },
+ right: { x: 256, y: 536 },
},
{
name: "Kitchen",
- x: [391, 257],
- y: [413, 413],
+ left: { x: 391, y: 413 },
+ right: { x: 257, y: 413 },
},
{
name: "Bathroom",
- x: [299, 349],
- y: [413, 413],
+ left: { x: 299, y: 413 },
+ right: { x: 349, y: 413 },
},
{
name: "Laundry",
- x: [339, 309],
- y: [360, 360],
+ left: { x: 339, y: 360 },
+ right: { x: 309, y: 360 },
},
{
name: "Living & Bedroom",
- x: [315, 333],
- y: [216, 216],
+ left: { x: 315, y: 216 },
+ right: { x: 333, y: 216 },
},
{
name: "Flexibed",
- x: [435, 213],
- y: [188, 188],
+ left: { x: 435, y: 188 },
+ right: { x: 213, y: 188 },
},
{
name: "Study/Vanity Corner",
- x: [323, 325],
- y: [299, 299],
+ left: { x: 323, y: 299 },
+ right: { x: 325, y: 299 },
},
{
name: "Wardrobe",
- x: [267, 381],
- y: [311, 311],
+ left: { x: 267, y: 311 },
+ right: { x: 381, y: 311 },
},
{
name: "Wardrobe",
- x: [451, 197],
- y: [323, 323],
+ left: { x: 451, y: 323 },
+ right: { x: 197, y: 323 },
},
{
name: "Rotatable TV",
- x: [267, 381],
- y: [172, 172],
+ left: { x: 267, y: 172 },
+ right: { x: 381, y: 172 },
},
{
name: "Bifold Glass Doors",
- x: [251, 397],
- y: [267, 267],
+ left: { x: 251, y: 267 },
+ right: { x: 397, y: 267 },
},
{
name: "Balcony",
- x: [195, 453],
- y: [204, 204],
+ left: { x: 195, y: 204 },
+ right: { x: 453, y: 204 },
},
],
tourAvailable: true,
@@ -783,53 +783,53 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [146, 502],
- y: [401, 401],
+ left: { x: 146, y: 401 },
+ right: { x: 502, y: 401 },
},
{
name: "Kitchen",
- x: [146, 502],
- y: [335, 335],
+ left: { x: 146, y: 335 },
+ right: { x: 502, y: 335 },
},
{
name: "Bathroom",
- x: [170, 478],
- y: [247, 247],
+ left: { x: 170, y: 247 },
+ right: { x: 478, y: 247 },
},
{
name: "Laundry",
- x: [212, 436],
- y: [385, 385],
+ left: { x: 212, y: 385 },
+ right: { x: 436, y: 385 },
},
{
name: "Living & Bedroom",
- x: [379, 269],
- y: [320, 320],
+ left: { x: 379, y: 320 },
+ right: { x: 269, y: 320 },
},
{
name: "Flexibed",
- x: [363, 285],
- y: [210, 210],
+ left: { x: 363, y: 210 },
+ right: { x: 285, y: 210 },
},
{
name: "Study/Vanity Corner",
- x: [279, 369],
- y: [218, 218],
+ left: { x: 279, y: 218 },
+ right: { x: 369, y: 218 },
},
{
name: "Wardrobe",
- x: [267, 381],
- y: [385, 385],
+ left: { x: 267, y: 385 },
+ right: { x: 381, y: 385 },
},
{
name: "Bifold Glass Doors",
- x: [477, 171],
- y: [347, 347],
+ left: { x: 477, y: 347 },
+ right: { x: 171, y: 347 },
},
{
name: "Balcony",
- x: [548, 100],
- y: [296, 296],
+ left: { x: 548, y: 296 },
+ right: { x: 100, y: 296 },
},
],
tourAvailable: true,
@@ -857,63 +857,63 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [444, 204],
- y: [552, 552],
+ left: { x: 444, y: 552 },
+ right: { x: 204, y: 552 },
},
{
name: "Kitchen & Dining",
- x: [399, 249],
- y: [377, 377],
+ left: { x: 399, y: 377 },
+ right: { x: 249, y: 377 },
},
{
name: "Bathroom",
- x: [228, 420],
- y: [423, 423],
+ left: { x: 228, y: 423 },
+ right: { x: 420, y: 423 },
},
{
name: "Laundry & Storage",
- x: [363, 285],
- y: [556, 556],
+ left: { x: 363, y: 556 },
+ right: { x: 285, y: 556 },
},
{
name: "Living Room",
- x: [387, 261],
- y: [265, 265],
+ left: { x: 387, y: 265 },
+ right: { x: 261, y: 265 },
},
{
name: "Flexibed",
- x: [477, 171],
- y: [261, 261],
+ left: { x: 477, y: 261 },
+ right: { x: 171, y: 261 },
},
{
name: "Bedroom",
- x: [216, 432],
- y: [261, 261],
+ left: { x: 216, y: 261 },
+ right: { x: 432, y: 261 },
},
{
name: "Wardrobe",
- x: [170, 478],
- y: [377, 377],
+ left: { x: 170, y: 377 },
+ right: { x: 478, y: 377 },
},
{
name: "Study/Vanity Corner",
- x: [285, 363],
- y: [348, 348],
+ left: { x: 285, y: 348 },
+ right: { x: 363, y: 348 },
},
{
name: "Pocket Wall",
- x: [325, 323],
- y: [209, 209],
+ left: { x: 325, y: 209 },
+ right: { x: 323, y: 209 },
},
{
name: "Bifold Glass Doors",
- x: [166, 482],
- y: [153, 153],
+ left: { x: 166, y: 153 },
+ right: { x: 482, y: 153 },
},
{
name: "Balcony",
- x: [367, 281],
- y: [116, 116],
+ left: { x: 367, y: 116 },
+ right: { x: 281, y: 116 },
},
],
tourAvailable: true,
@@ -941,78 +941,78 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [493, 155],
- y: [517, 517],
+ left: { x: 493, y: 517 },
+ right: { x: 155, y: 517 },
},
{
name: "Kitchen & Dining",
- x: [477, 171],
- y: [419, 419],
+ left: { x: 477, y: 419 },
+ right: { x: 171, y: 419 },
},
{
name: "Pantry Storage",
- x: [399, 249],
- y: [505, 505],
+ left: { x: 399, y: 505 },
+ right: { x: 249, y: 505 },
},
{
name: "Bathroom",
- x: [432, 216],
- y: [324, 324],
+ left: { x: 432, y: 324 },
+ right: { x: 216, y: 324 },
},
{
name: "Laundry/Storage & Hall",
- x: [321, 327],
- y: [312, 312],
+ left: { x: 321, y: 312 },
+ right: { x: 327, y: 312 },
},
{
name: "Living Room",
- x: [253, 395],
- y: [412, 412],
+ left: { x: 253, y: 412 },
+ right: { x: 395, y: 412 },
},
{
name: "Flexibed",
- x: [249, 399],
- y: [493, 493],
+ left: { x: 249, y: 493 },
+ right: { x: 399, y: 493 },
},
{
name: "Study Nook",
- x: [261, 387],
- y: [316, 316],
+ left: { x: 261, y: 316 },
+ right: { x: 387, y: 316 },
},
{
name: "Pocket Wall",
- x: [190, 458],
- y: [288, 288],
+ left: { x: 190, y: 288 },
+ right: { x: 458, y: 288 },
},
{
name: "Bedroom",
- x: [253, 395],
- y: [193, 193],
+ left: { x: 253, y: 193 },
+ right: { x: 395, y: 193 },
},
{
name: "Walk-in Closet",
- x: [375, 273],
- y: [252, 252],
+ left: { x: 375, y: 252 },
+ right: { x: 273, y: 252 },
},
{
name: "Vanity Corner",
- x: [432, 216],
- y: [217, 217],
+ left: { x: 432, y: 217 },
+ right: { x: 216, y: 217 },
},
{
name: "Master Bathroom",
- x: [399, 249],
- y: [153, 153],
+ left: { x: 399, y: 153 },
+ right: { x: 249, y: 153 },
},
{
name: "Bifold Glass Doors",
- x: [150, 498],
- y: [153, 153],
+ left: { x: 150, y: 153 },
+ right: { x: 498, y: 153 },
},
{
name: "Balcony",
- x: [119, 529],
- y: [309, 309],
+ left: { x: 119, y: 309 },
+ right: { x: 529, y: 309 },
},
],
tourAvailable: true,
@@ -1040,83 +1040,83 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [178, 470],
- y: [551, 551],
+ left: { x: 178, y: 551 },
+ right: { x: 470, y: 551 },
},
{
name: "Kitchen & Dining",
- x: [206, 442],
- y: [505, 505],
+ left: { x: 206, y: 505 },
+ right: { x: 442, y: 505 },
},
{
name: "Pantry Storage",
- x: [246, 402],
- y: [572, 572],
+ left: { x: 246, y: 572 },
+ right: { x: 402, y: 572 },
},
{
name: "Bathroom",
- x: [355, 293],
- y: [494, 494],
+ left: { x: 355, y: 494 },
+ right: { x: 293, y: 494 },
},
{
name: "Laundry & Storage",
- x: [301, 347],
- y: [400, 400],
+ left: { x: 301, y: 400 },
+ right: { x: 347, y: 400 },
},
{
name: "Living Room",
- x: [208, 440],
- y: [268, 268],
+ left: { x: 208, y: 268 },
+ right: { x: 440, y: 268 },
},
{
name: "Flexibed",
- x: [105, 543],
- y: [263, 263],
+ left: { x: 105, y: 263 },
+ right: { x: 543, y: 263 },
},
{
name: "Study Nook",
- x: [313, 335],
- y: [259, 259],
+ left: { x: 313, y: 259 },
+ right: { x: 335, y: 259 },
},
{
name: "Pocket Wall",
- x: [351, 297],
- y: [341, 341],
+ left: { x: 351, y: 341 },
+ right: { x: 297, y: 341 },
},
{
name: "Bedroom",
- x: [470, 178],
- y: [268, 268],
+ left: { x: 470, y: 268 },
+ right: { x: 178, y: 268 },
},
{
name: "Vanity Corner",
- x: [383, 265],
- y: [388, 388],
+ left: { x: 383, y: 388 },
+ right: { x: 265, y: 388 },
},
{
name: "Walk-in Closet",
- x: [478, 170],
- y: [408, 408],
+ left: { x: 478, y: 408 },
+ right: { x: 170, y: 408 },
},
{
name: "Master Bathroom",
- x: [470, 178],
- y: [498, 498],
+ left: { x: 470, y: 498 },
+ right: { x: 178, y: 498 },
},
{
name: "Bifold Glass Doors",
- x: [121, 527],
- y: [159, 159],
+ left: { x: 121, y: 159 },
+ right: { x: 527, y: 159 },
},
{
name: "Bifold Glass Doors",
- x: [514, 134],
- y: [164, 164],
+ left: { x: 514, y: 164 },
+ right: { x: 134, y: 164 },
},
{
name: "Balcony",
- x: [313, 335],
- y: [135, 135],
+ left: { x: 313, y: 135 },
+ right: { x: 335, y: 135 },
},
],
tourAvailable: true,
@@ -1143,83 +1143,83 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [145, 503],
- y: [507, 507],
+ left: { x: 145, y: 507 },
+ right: { x: 503, y: 507 },
},
{
name: "Kitchen & Dining",
- x: [174, 474],
- y: [420, 420],
+ left: { x: 174, y: 420 },
+ right: { x: 474, y: 420 },
},
{
name: "Pantry Storage",
- x: [218, 430],
- y: [505, 505],
+ left: { x: 218, y: 505 },
+ right: { x: 430, y: 505 },
},
{
name: "Laundry/Storage & Hall",
- x: [174, 474],
- y: [329, 329],
+ left: { x: 174, y: 329 },
+ right: { x: 474, y: 329 },
},
{
name: "Bathroom",
- x: [162, 486],
- y: [264, 264],
+ left: { x: 162, y: 264 },
+ right: { x: 486, y: 264 },
},
{
name: "Living Room",
- x: [372, 276],
- y: [409, 409],
+ left: { x: 372, y: 409 },
+ right: { x: 276, y: 409 },
},
{
name: "Modular Sofa-Bed",
- x: [383, 265],
- y: [471, 471],
+ left: { x: 383, y: 471 },
+ right: { x: 265, y: 471 },
},
{
name: "Study Cubicle",
- x: [265, 383],
- y: [316, 316],
+ left: { x: 265, y: 316 },
+ right: { x: 383, y: 316 },
},
{
name: "Pocket Wall",
- x: [440, 208],
- y: [296, 296],
+ left: { x: 440, y: 296 },
+ right: { x: 208, y: 296 },
},
{
name: "Bedroom",
- x: [379, 269],
- y: [194, 194],
+ left: { x: 379, y: 194 },
+ right: { x: 269, y: 194 },
},
{
name: "Vanity Corner",
- x: [276, 372],
- y: [216, 216],
+ left: { x: 276, y: 216 },
+ right: { x: 372, y: 216 },
},
{
name: "Walk-in Closet",
- x: [239, 409],
- y: [177, 177],
+ left: { x: 239, y: 177 },
+ right: { x: 409, y: 177 },
},
{
name: "Master Bathroom",
- x: [141, 507],
- y: [177, 177],
+ left: { x: 141, y: 177 },
+ right: { x: 507, y: 177 },
},
{
name: "Bifold Glass Doors",
- x: [471, 177],
- y: [165, 165],
+ left: { x: 471, y: 165 },
+ right: { x: 177, y: 165 },
},
{
name: "Bifold Glass Doors",
- x: [479, 169],
- y: [475, 475],
+ left: { x: 479, y: 475 },
+ right: { x: 169, y: 475 },
},
{
name: "Balcony",
- x: [512, 136],
- y: [316, 316],
+ left: { x: 512, y: 316 },
+ right: { x: 136, y: 316 },
},
],
tourAvailable: true,
@@ -1246,103 +1246,103 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [507, 141],
- y: [440, 440],
+ left: { x: 507, y: 440 },
+ right: { x: 141, y: 440 },
},
{
name: "Kitchen & Dining",
- x: [479, 169],
- y: [397, 397],
+ left: { x: 479, y: 397 },
+ right: { x: 169, y: 397 },
},
{
name: "Laundry & Storage",
- x: [420, 228],
- y: [341, 341],
+ left: { x: 420, y: 341 },
+ right: { x: 228, y: 341 },
},
{
name: "Pantry Storage",
- x: [420, 228],
- y: [281, 281],
+ left: { x: 420, y: 281 },
+ right: { x: 228, y: 281 },
},
{
name: "Living Room",
- x: [471, 177],
- y: [177, 177],
+ left: { x: 471, y: 177 },
+ right: { x: 177, y: 177 },
},
{
name: "Modular Sofa-Bed",
- x: [471, 177],
- y: [101, 101],
+ left: { x: 471, y: 101 },
+ right: { x: 177, y: 101 },
},
{
name: "Study Cubicle",
- x: [536, 112],
- y: [224, 224],
+ left: { x: 536, y: 224 },
+ right: { x: 112, y: 224 },
},
{
name: "Balcony",
- x: [355, 293],
- y: [165, 165],
+ left: { x: 355, y: 165 },
+ right: { x: 293, y: 165 },
},
{
name: "Hall & Storage",
- x: [339, 309],
- y: [385, 385],
+ left: { x: 339, y: 385 },
+ right: { x: 309, y: 385 },
},
{
name: "Bathroom",
- x: [343, 305],
- y: [309, 309],
+ left: { x: 343, y: 309 },
+ right: { x: 305, y: 309 },
},
{
name: "Bedroom",
- x: [204, 444],
- y: [313, 313],
+ left: { x: 204, y: 313 },
+ right: { x: 444, y: 313 },
},
{
name: "Vanity Corner",
- x: [208, 440],
- y: [385, 385],
+ left: { x: 208, y: 385 },
+ right: { x: 440, y: 385 },
},
{
name: "Vanity Corner",
- x: [208, 440],
- y: [432, 432],
+ left: { x: 208, y: 432 },
+ right: { x: 440, y: 432 },
},
{
name: "Wardrobe",
- x: [273, 375],
- y: [315, 315],
+ left: { x: 273, y: 315 },
+ right: { x: 375, y: 315 },
},
{
name: "Master Bedroom",
- x: [220, 428],
- y: [495, 495],
+ left: { x: 220, y: 495 },
+ right: { x: 428, y: 495 },
},
{
name: "Walk-in Closet",
- x: [331, 317],
- y: [512, 512],
+ left: { x: 331, y: 512 },
+ right: { x: 317, y: 512 },
},
{
name: "Master Bathroom",
- x: [416, 232],
- y: [512, 512],
+ left: { x: 416, y: 512 },
+ right: { x: 232, y: 512 },
},
{
name: "Bifold Glass Doors",
- x: [123, 525],
- y: [285, 285],
+ left: { x: 123, y: 285 },
+ right: { x: 525, y: 285 },
},
{
name: "Bifold Glass Doors",
- x: [123, 525],
- y: [529, 529],
+ left: { x: 123, y: 529 },
+ right: { x: 525, y: 529 },
},
{
name: "Balcony",
- x: [94, 554],
- y: [405, 405],
+ left: { x: 94, y: 405 },
+ right: { x: 554, y: 405 },
},
],
tourAvailable: true,
@@ -1369,128 +1369,128 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [205, 443],
- y: [565, 565],
+ left: { x: 205, y: 565 },
+ right: { x: 443, y: 565 },
floor: "lower",
},
{
name: "Kitchen & Dining",
- x: [250, 398],
- y: [502, 502],
+ left: { x: 250, y: 502 },
+ right: { x: 398, y: 502 },
floor: "lower",
},
{
name: "Bathroom",
- x: [398, 250],
- y: [435, 435],
+ left: { x: 398, y: 435 },
+ right: { x: 250, y: 435 },
floor: "lower",
},
{
name: "Laundry & Storage",
- x: [291, 357],
- y: [553, 553],
+ left: { x: 291, y: 553 },
+ right: { x: 357, y: 553 },
floor: "lower",
},
{
name: "6.8m Double Height Living Room",
- x: [236, 412],
- y: [289, 289],
+ left: { x: 236, y: 289 },
+ right: { x: 412, y: 289 },
floor: "lower",
},
{
name: "Modular Sofa-Bed",
- x: [321, 327],
- y: [301, 301],
+ left: { x: 321, y: 301 },
+ right: { x: 327, y: 301 },
floor: "lower",
},
{
name: "Study & Reading Nook",
- x: [386, 262],
- y: [358, 358],
+ left: { x: 386, y: 358 },
+ right: { x: 262, y: 358 },
floor: "lower",
},
{
name: "Feature Staircase",
- x: [449, 199],
- y: [220, 220],
+ left: { x: 449, y: 220 },
+ right: { x: 199, y: 220 },
floor: "lower",
},
{
name: "Bifold Glass Doors",
- x: [170, 478],
- y: [159, 159],
+ left: { x: 170, y: 159 },
+ right: { x: 478, y: 159 },
floor: "lower",
},
{
name: "Bifold Glass Doors",
- x: [473, 175],
- y: [159, 159],
+ left: { x: 473, y: 159 },
+ right: { x: 175, y: 159 },
floor: "lower",
},
{
name: "Balcony",
- x: [321, 327],
- y: [129, 129],
+ left: { x: 321, y: 129 },
+ right: { x: 327, y: 129 },
floor: "lower",
},
{
name: "Bedroom",
- x: [354, 294],
- y: [320, 320],
+ left: { x: 354, y: 320 },
+ right: { x: 294, y: 320 },
floor: "upper",
},
{
name: "Tatami Bed on A Raised Platform",
- x: [242, 406],
- y: [380, 380],
+ left: { x: 242, y: 380 },
+ right: { x: 406, y: 380 },
floor: "upper",
},
{
name: "Built-in Storage",
- x: [319, 329],
- y: [361, 361],
+ left: { x: 319, y: 361 },
+ right: { x: 329, y: 361 },
floor: "upper",
},
{
name: "Roll Out TV Screen",
- x: [242, 406],
- y: [296, 296],
+ left: { x: 242, y: 296 },
+ right: { x: 406, y: 296 },
floor: "upper",
},
{
name: "Reading Pod",
- x: [402, 246],
- y: [404, 404],
+ left: { x: 402, y: 404 },
+ right: { x: 246, y: 404 },
floor: "upper",
},
{
name: "Vanity Corner",
- x: [242, 406],
- y: [464, 464],
+ left: { x: 242, y: 464 },
+ right: { x: 406, y: 464 },
floor: "upper",
},
{
name: "Walk-in Closet",
- x: [278, 370],
- y: [505, 505],
+ left: { x: 278, y: 505 },
+ right: { x: 370, y: 505 },
floor: "upper",
},
{
name: "Master Bathroom",
- x: [421, 227],
- y: [505, 505],
+ left: { x: 421, y: 505 },
+ right: { x: 227, y: 505 },
floor: "upper",
},
{
name: "Double Height Void",
- x: [285, 363],
- y: [203, 203],
+ left: { x: 285, y: 203 },
+ right: { x: 363, y: 203 },
floor: "upper",
},
{
name: "Motorized Curtains",
- x: [460, 188],
- y: [102, 102],
+ left: { x: 460, y: 102 },
+ right: { x: 188, y: 102 },
floor: "upper",
},
],
@@ -1518,122 +1518,122 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [445, 203],
- y: [558, 558],
+ left: { x: 445, y: 558 },
+ right: { x: 203, y: 558 },
floor: "lower",
},
{
name: "Kitchen & Dining",
- x: [402, 246],
- y: [497, 497],
+ left: { x: 402, y: 497 },
+ right: { x: 246, y: 497 },
floor: "lower",
},
{
name: "Bathroom",
- x: [276, 372],
- y: [425, 425],
+ left: { x: 276, y: 425 },
+ right: { x: 372, y: 425 },
floor: "lower",
},
{
name: "Laundry & Storage",
- x: [358, 290],
- y: [558, 558],
+ left: { x: 358, y: 558 },
+ right: { x: 290, y: 558 },
floor: "lower",
},
{
name: "6.8m Double Height Living Room",
- x: [414, 234],
- y: [283, 283],
+ left: { x: 414, y: 283 },
+ right: { x: 234, y: 283 },
floor: "lower",
},
{
name: "Modular Sofa-Bed",
- x: [332, 316],
- y: [292, 292],
+ left: { x: 332, y: 292 },
+ right: { x: 316, y: 292 },
floor: "lower",
},
{
name: "Study & Reading Nook",
- x: [280, 368],
- y: [363, 363],
+ left: { x: 280, y: 363 },
+ right: { x: 368, y: 363 },
floor: "lower",
},
{
name: "Feature Staircase",
- x: [186, 462],
- y: [220, 220],
+ left: { x: 186, y: 220 },
+ right: { x: 462, y: 220 },
floor: "lower",
},
{
name: "Bifold Glass Doors",
- x: [170, 478],
- y: [151, 151],
+ left: { x: 170, y: 151 },
+ right: { x: 478, y: 151 },
floor: "lower",
},
{
name: "Bifold Glass Doors",
- x: [473, 175],
- y: [151, 151],
+ left: { x: 473, y: 151 },
+ right: { x: 175, y: 151 },
floor: "lower",
},
{
name: "Balcony",
- x: [321, 327],
- y: [129, 129],
+ left: { x: 321, y: 129 },
+ right: { x: 327, y: 129 },
floor: "lower",
},
{
name: "Bedroom",
- x: [293, 355],
- y: [320, 320],
+ left: { x: 293, y: 320 },
+ right: { x: 355, y: 320 },
floor: "upper",
},
{
name: "Tatami Bed on A Raised Platform",
- x: [417, 231],
- y: [380, 380],
+ left: { x: 417, y: 380 },
+ right: { x: 231, y: 380 },
floor: "upper",
},
{
name: "Built-in Storage",
- x: [336, 312],
- y: [361, 361],
+ left: { x: 336, y: 361 },
+ right: { x: 312, y: 361 },
floor: "upper",
},
{
name: "Roll Out TV Screen",
- x: [404, 244],
- y: [291, 291],
+ left: { x: 404, y: 291 },
+ right: { x: 244, y: 291 },
floor: "upper",
},
{
name: "Vanity Corner",
- x: [408, 240],
- y: [460, 460],
+ left: { x: 408, y: 460 },
+ right: { x: 240, y: 460 },
floor: "upper",
},
{
name: "Walk-in Closet",
- x: [441, 207],
- y: [522, 522],
+ left: { x: 441, y: 522 },
+ right: { x: 207, y: 522 },
floor: "upper",
},
{
name: "Master Bathroom",
- x: [219, 429],
- y: [464, 464],
+ left: { x: 219, y: 464 },
+ right: { x: 429, y: 464 },
floor: "upper",
},
{
name: "Double Height Void",
- x: [360, 288],
- y: [198, 198],
+ left: { x: 360, y: 198 },
+ right: { x: 288, y: 198 },
floor: "upper",
},
{
name: "Motorized Curtains",
- x: [181, 467],
- y: [99, 99],
+ left: { x: 181, y: 99 },
+ right: { x: 467, y: 99 },
floor: "upper",
},
],
@@ -1663,122 +1663,122 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [359, 289],
- y: [429, 429],
+ left: { x: 359, y: 429 },
+ right: { x: 289, y: 429 },
floor: "lower",
},
{
name: "Kitchen & Dining",
- x: [362, 286],
- y: [355, 355],
+ left: { x: 362, y: 355 },
+ right: { x: 286, y: 355 },
floor: "lower",
},
{
name: "Pantry Storage",
- x: [297, 351],
- y: [297, 297],
+ left: { x: 297, y: 297 },
+ right: { x: 351, y: 297 },
floor: "lower",
},
{
name: "Laundry/Storage",
- x: [219, 429],
- y: [498, 498],
+ left: { x: 219, y: 498 },
+ right: { x: 429, y: 498 },
floor: "lower",
},
{
name: "Bathroom",
- x: [136, 512],
- y: [421, 421],
+ left: { x: 136, y: 421 },
+ right: { x: 512, y: 421 },
floor: "lower",
},
{
name: "6.8m Double Height Living Room",
- x: [210, 438],
- y: [188, 188],
+ left: { x: 210, y: 188 },
+ right: { x: 438, y: 188 },
floor: "lower",
},
{
name: "Modular Sofa-Bed",
- x: [190, 458],
- y: [98, 98],
+ left: { x: 190, y: 98 },
+ right: { x: 458, y: 98 },
floor: "lower",
},
{
name: "Study Nook",
- x: [124, 524],
- y: [335, 335],
+ left: { x: 124, y: 335 },
+ right: { x: 524, y: 335 },
floor: "lower",
},
{
name: "Hall & Staircase",
- x: [293, 355],
- y: [438, 438],
+ left: { x: 293, y: 438 },
+ right: { x: 355, y: 438 },
floor: "lower",
},
{
name: "Bifold Glass Doors",
- x: [316, 332],
- y: [196, 196],
+ left: { x: 316, y: 196 },
+ right: { x: 332, y: 196 },
floor: "lower",
},
{
name: "Balcony",
- x: [438, 210],
- y: [150, 150],
+ left: { x: 438, y: 150 },
+ right: { x: 210, y: 150 },
floor: "lower",
},
{
name: "Bedroom",
- x: [219, 429],
- y: [385, 385],
+ left: { x: 219, y: 385 },
+ right: { x: 429, y: 385 },
floor: "upper",
},
{
name: "Tatami Bed on a Raised Platform",
- x: [207, 441],
- y: [303, 303],
+ left: { x: 207, y: 303 },
+ right: { x: 441, y: 303 },
floor: "upper",
},
{
name: "Built-in Storage",
- x: [181, 467],
- y: [361, 361],
+ left: { x: 181, y: 361 },
+ right: { x: 467, y: 361 },
floor: "upper",
},
{
name: "Roll Out TV Screen",
- x: [205, 443],
- y: [229, 229],
+ left: { x: 205, y: 229 },
+ right: { x: 443, y: 229 },
floor: "upper",
},
{
name: "Vanity Corner",
- x: [272, 376],
- y: [440, 440],
+ left: { x: 272, y: 440 },
+ right: { x: 376, y: 440 },
floor: "upper",
},
{
name: "Walk-in Closet",
- x: [169, 479],
- y: [440, 440],
+ left: { x: 169, y: 440 },
+ right: { x: 479, y: 440 },
floor: "upper",
},
{
name: "Master Bathroom",
- x: [348, 300],
- y: [311, 311],
+ left: { x: 348, y: 311 },
+ right: { x: 300, y: 311 },
floor: "upper",
},
{
name: "Double Height Void",
- x: [217, 431],
- y: [155, 155],
+ left: { x: 217, y: 155 },
+ right: { x: 431, y: 155 },
floor: "upper",
},
{
name: "Motorized Curtains",
- x: [133, 515],
- y: [61, 61],
+ left: { x: 133, y: 61 },
+ right: { x: 515, y: 61 },
floor: "upper",
},
],
@@ -1807,164 +1807,164 @@ export const projects: Project[] = [
legend: [
{
name: "Entrance",
- x: [243, 405],
- y: [554, 554],
+ left: { x: 243, y: 554 },
+ right: { x: 405, y: 554 },
floor: "lower",
},
{
name: "Kitchen & Dining",
- x: [206, 442],
- y: [485, 485],
+ left: { x: 206, y: 485 },
+ right: { x: 442, y: 485 },
floor: "lower",
},
{
name: "Pantry Storage",
- x: [166, 482],
- y: [391, 391],
+ left: { x: 166, y: 391 },
+ right: { x: 482, y: 391 },
floor: "lower",
},
{
name: "Laundry/Storage",
- x: [405, 243],
- y: [509, 509],
+ left: { x: 405, y: 509 },
+ right: { x: 243, y: 509 },
floor: "lower",
},
{
name: "Bathroom",
- x: [477, 171],
- y: [458, 458],
+ left: { x: 477, y: 458 },
+ right: { x: 171, y: 458 },
floor: "lower",
},
{
name: "6.8m Double Height Living Room",
- x: [271, 377],
- y: [270, 270],
+ left: { x: 271, y: 270 },
+ right: { x: 377, y: 270 },
floor: "lower",
},
{
name: "Modular Sofa-Bed",
- x: [340, 308],
- y: [270, 270],
+ left: { x: 340, y: 270 },
+ right: { x: 308, y: 270 },
floor: "lower",
},
{
name: "Smart Privacy glass",
- x: [365, 283],
- y: [308, 308],
+ left: { x: 365, y: 308 },
+ right: { x: 283, y: 308 },
floor: "lower",
},
{
name: "Sliding Doors",
- x: [371, 277],
- y: [177, 177],
+ left: { x: 371, y: 177 },
+ right: { x: 277, y: 177 },
floor: "lower",
},
{
name: "Roll out TV Screen",
- x: [385, 263],
- y: [228, 228],
+ left: { x: 385, y: 228 },
+ right: { x: 263, y: 228 },
floor: "lower",
},
{
name: "Bedroom",
- x: [444, 204],
- y: [270, 270],
+ left: { x: 444, y: 270 },
+ right: { x: 204, y: 270 },
floor: "lower",
},
{
name: "Flexibed",
- x: [520, 128],
- y: [266, 266],
+ left: { x: 520, y: 266 },
+ right: { x: 128, y: 266 },
floor: "lower",
},
{
name: "Wardrobe",
- x: [496, 152],
- y: [371, 371],
+ left: { x: 496, y: 371 },
+ right: { x: 152, y: 371 },
floor: "lower",
},
{
name: "Feature Staircase",
- x: [142, 506],
- y: [221, 221],
+ left: { x: 142, y: 221 },
+ right: { x: 506, y: 221 },
floor: "lower",
},
{
name: "Bifold Glass Door",
- x: [122, 526],
- y: [141, 141],
+ left: { x: 122, y: 141 },
+ right: { x: 526, y: 141 },
floor: "lower",
},
{
name: "Bifold Glass Door",
- x: [524, 124],
- y: [141, 141],
+ left: { x: 524, y: 141 },
+ right: { x: 124, y: 141 },
floor: "lower",
},
{
name: "Balcony",
- x: [365, 283],
- y: [109, 109],
+ left: { x: 365, y: 109 },
+ right: { x: 283, y: 109 },
floor: "lower",
},
{
name: "Family Hall",
- x: [324, 324],
- y: [386, 386],
+ left: { x: 324, y: 386 },
+ right: { x: 324, y: 386 },
floor: "upper",
},
{
name: "Study Room",
- x: [279, 369],
- y: [502, 502],
+ left: { x: 279, y: 502 },
+ right: { x: 369, y: 502 },
floor: "upper",
},
{
name: "Foldable Desk",
- x: [189, 459],
- y: [495, 495],
+ left: { x: 189, y: 495 },
+ right: { x: 459, y: 495 },
floor: "upper",
},
{
name: "Master Bedroom",
- x: [410, 238],
- y: [283, 283],
+ left: { x: 410, y: 283 },
+ right: { x: 238, y: 283 },
floor: "upper",
},
{
name: "Floating Bed",
- x: [456, 192],
- y: [198, 198],
+ left: { x: 456, y: 198 },
+ right: { x: 192, y: 198 },
floor: "upper",
},
{
name: "Vanity Corner",
- x: [485, 163],
- y: [271, 271],
+ left: { x: 485, y: 271 },
+ right: { x: 163, y: 271 },
floor: "upper",
},
{
name: "Walk-in Closet",
- x: [464, 184],
- y: [366, 366],
+ left: { x: 464, y: 366 },
+ right: { x: 184, y: 366 },
floor: "upper",
},
{
name: "Master Bathroom",
- x: [414, 234],
- y: [503, 503],
+ left: { x: 414, y: 503 },
+ right: { x: 234, y: 503 },
floor: "upper",
},
{
name: "Double Height Void",
- x: [283, 365],
- y: [210, 210],
+ left: { x: 283, y: 210 },
+ right: { x: 365, y: 210 },
floor: "upper",
},
{
name: "Motorized Curtains",
- x: [158, 490],
- y: [118, 118],
+ left: { x: 158, y: 118 },
+ right: { x: 490, y: 118 },
floor: "upper",
},
],
@@ -1993,7 +1993,174 @@ export const projects: Project[] = [
slug: "hq",
img: "/images/search/rove_home_hq.png",
buildingType: "commercial",
- types: [],
+ types: [
+ {
+ name: "Studio",
+ slug: "studio",
+ floors: "Ground Floor",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Modern co-working studio space designed for productivity and collaboration.",
+ "Features flexible workstations, focus booths, and open collaboration areas.",
+ ],
+ interiors: [],
+ legend: [
+ {
+ name: "Entrance",
+ left: { x: 382, y: 102 },
+ right: { x: 382, y: 102 },
+ },
+ {
+ name: "Server/Printer",
+ left: { x: 435, y: 102 },
+ right: { x: 435, y: 102 },
+ },
+ {
+ name: "Focus booth",
+ left: { x: 382, y: 195 },
+ right: { x: 382, y: 195 },
+ },
+ {
+ name: "Shelving/Storage unit",
+ left: { x: 412, y: 258 },
+ right: { x: 412, y: 258 },
+ },
+ {
+ name: "Open workstations",
+ left: { x: 299, y: 278 },
+ right: { x: 299, y: 278 },
+ },
+ {
+ name: "Open workstations",
+ left: { x: 227, y: 140 },
+ right: { x: 227, y: 140 },
+ },
+ {
+ name: "Think wall",
+ left: { x: 197.5, y: 236 },
+ right: { x: 197.5, y: 236 },
+ },
+ {
+ name: "Courtyard",
+ left: { x: 346, y: 359 },
+ right: { x: 346, y: 359 },
+ },
+ ],
+ tourAvailable: false,
+ },
+ {
+ name: "Simplex Edge",
+ slug: "simplex-edge",
+ floors: "Ground Floor",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Compact and efficient workspace solution for focused work.",
+ "Ideal for individual professionals or small teams.",
+ ],
+ interiors: [],
+ legend: [
+ {
+ name: "Entrance",
+ left: { x: 408, y: 129 },
+ right: { x: 408, y: 129 },
+ },
+ {
+ name: "Workstation",
+ left: { x: 516, y: 144 },
+ right: { x: 516, y: 144 },
+ },
+ {
+ name: "Meeting Room",
+ left: { x: 399, y: 288 },
+ right: { x: 399, y: 288 },
+ },
+ {
+ name: "Desk Area",
+ left: { x: 301, y: 245 },
+ right: { x: 301, y: 245 },
+ },
+ {
+ name: "Workstation",
+ left: { x: 208, y: 245 },
+ right: { x: 208, y: 245 },
+ },
+ {
+ name: "Storage/Printer",
+ left: { x: 134, y: 192 },
+ right: { x: 134, y: 192 },
+ },
+ {
+ name: "Kitchenette",
+ left: { x: 321, y: 151 },
+ right: { x: 321, y: 151 },
+ },
+ {
+ name: "Reception",
+ left: { x: 221, y: 137 },
+ right: { x: 221, y: 137 },
+ },
+ ],
+ tourAvailable: false,
+ },
+ {
+ name: "Loft Edge Lower",
+ slug: "loft-edge-lower",
+ floors: "Ground Floor",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Lower level of the loft-style workspace with high ceilings.",
+ "Spacious area perfect for team collaboration and meetings.",
+ ],
+ interiors: [],
+ legend: [],
+ tourAvailable: false,
+ },
+ {
+ name: "Loft Edge Upper",
+ slug: "loft-edge-upper",
+ floors: "Mezzanine",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Upper level of the loft-style workspace with panoramic views.",
+ "Private area ideal for focused work and private meetings.",
+ ],
+ interiors: [],
+ legend: [],
+ tourAvailable: false,
+ },
+ {
+ name: "Penthouse Loft Lower",
+ slug: "penthouse-loft-lower",
+ floors: "Upper Floor",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Premium lower level workspace with luxury finishes.",
+ "Designed for executive teams and high-profile clients.",
+ ],
+ interiors: [],
+ legend: [],
+ tourAvailable: false,
+ },
+ {
+ name: "Penthouse Loft Upper",
+ slug: "penthouse-loft-upper",
+ floors: "Top Floor",
+ area: "TBD Sqft",
+ onFloorColor: "#000000",
+ desc: [
+ "Premium upper level with stunning views and natural light.",
+ "Ultimate workspace for executive teams seeking privacy and prestige.",
+ ],
+ interiors: [],
+ legend: [],
+ tourAvailable: false,
+ },
+ ],
amenitiesFloors: [],
},
];
diff --git a/src/pages/FavoritesPage.tsx b/src/pages/FavoritesPage.tsx
index 7412ec1..3a3d103 100644
--- a/src/pages/FavoritesPage.tsx
+++ b/src/pages/FavoritesPage.tsx
@@ -344,20 +344,13 @@ function FavoritesPage() {
)}
{(!removeSimilar ||
filteredFavoriteUnits.some(
- ({ project, unitNo }) =>
- project !== unit.project ||
- unitNo[0] !== unit.unitNo[0]
- )) && (
+ ({ wing }) =>
+ wing !== unit.wing
+ )) && unit.wing && (
)}
{(!removeSimilar ||
diff --git a/src/pages/SearchPage.tsx b/src/pages/SearchPage.tsx
index 253c7c3..f705957 100644
--- a/src/pages/SearchPage.tsx
+++ b/src/pages/SearchPage.tsx
@@ -122,16 +122,28 @@ function SearchPage() {
});
useEffect(() => {
- if (allFloors) setFloor([allFloors.min, allFloors.max]);
- }, [allFloors, project]); // Add project dependency to reset when project changes
+ if (allFloors) {
+ setFloor([allFloors.min, allFloors.max]);
+ } else {
+ setFloor([-1, -1]);
+ }
+ }, [allFloors, project]);
useEffect(() => {
- if (allCost) setCost([allCost.min, allCost.max]);
- }, [allCost, project]); // Add project dependency to reset when project changes
+ if (allCost) {
+ setCost([allCost.min, allCost.max]);
+ } else {
+ setCost([-1, -1]);
+ }
+ }, [allCost, project]);
useEffect(() => {
- if (allArea) setArea([allArea.min, allArea.max]);
- }, [allArea, project]); // Add project dependency to reset when project changes
+ if (allArea) {
+ setArea([allArea.min, allArea.max]);
+ } else {
+ setArea([-1, -1]);
+ }
+ }, [allArea, project]);
const { data, fetchNextPage, isLoading, hasNextPage, isFetchingNextPage } =
useInfiniteQuery({
@@ -199,10 +211,6 @@ function SearchPage() {
useEffect(() => {
setSelectedUnitTypes([]);
setView("Any view");
- // Reset filters to prevent race condition with old filter data
- setCost([-1, -1]);
- setFloor([-1, -1]);
- setArea([-1, -1]);
}, [project]);
return (
diff --git a/src/types/IUnit.ts b/src/types/IUnit.ts
index 12c5c75..eb7a819 100644
--- a/src/types/IUnit.ts
+++ b/src/types/IUnit.ts
@@ -15,6 +15,6 @@ export interface Unit {
balconyArea: number;
wing?: string;
unitTypeVariantSlug: string;
- side?: "left" | "right"
- isLoft: boolean
+ side?: "left" | "right";
+ isLoft: boolean;
}
diff --git a/src/types/UnitType.ts b/src/types/UnitType.ts
index 19fc5c2..4051863 100644
--- a/src/types/UnitType.ts
+++ b/src/types/UnitType.ts
@@ -14,8 +14,8 @@ export default interface UnitType {
interiors: string[]
legend?: {
name: string;
- x: [number, number];
- y: [number, number];
+ left: { x: number; y: number };
+ right: { x: number; y: number };
floor?: "lower" | "upper";
}[];
tourAvailable?: boolean;