diff --git a/public/images/unit-types/hq/loft-edge-lower.jpg b/public/images/unit-types/hq/loft-edge-lower.jpg new file mode 100644 index 0000000..d898876 Binary files /dev/null and b/public/images/unit-types/hq/loft-edge-lower.jpg differ diff --git a/public/images/unit-types/hq/loft-edge-upper.jpg b/public/images/unit-types/hq/loft-edge-upper.jpg new file mode 100644 index 0000000..1599094 Binary files /dev/null and b/public/images/unit-types/hq/loft-edge-upper.jpg differ diff --git a/public/images/unit-types/hq/penthouse-loft-lower.jpg b/public/images/unit-types/hq/penthouse-loft-lower.jpg new file mode 100644 index 0000000..fe24a98 Binary files /dev/null and b/public/images/unit-types/hq/penthouse-loft-lower.jpg differ diff --git a/public/images/unit-types/hq/penthouse-loft-upper.jpg b/public/images/unit-types/hq/penthouse-loft-upper.jpg new file mode 100644 index 0000000..d38f8f1 Binary files /dev/null and b/public/images/unit-types/hq/penthouse-loft-upper.jpg differ diff --git a/public/images/unit-types/hq/simplex-edge.jpg b/public/images/unit-types/hq/simplex-edge.jpg new file mode 100644 index 0000000..815ff33 Binary files /dev/null and b/public/images/unit-types/hq/simplex-edge.jpg differ diff --git a/public/images/unit-types/hq/studio-left.jpg b/public/images/unit-types/hq/studio-left.jpg deleted file mode 100644 index 97e64e2..0000000 Binary files a/public/images/unit-types/hq/studio-left.jpg and /dev/null differ diff --git a/public/images/unit-types/hq/studio.jpg b/public/images/unit-types/hq/studio.jpg new file mode 100644 index 0000000..484b544 Binary files /dev/null and b/public/images/unit-types/hq/studio.jpg differ diff --git a/src/components/NewUnitSlider.tsx b/src/components/NewUnitSlider.tsx index 29589cd..405ba31 100644 --- a/src/components/NewUnitSlider.tsx +++ b/src/components/NewUnitSlider.tsx @@ -65,7 +65,7 @@ function NewUnitSlider({ children }: PropsWithChildren) { return (
{slides.map((slide) => slide.element)} @@ -84,7 +84,7 @@ function NewUnitSlider({ children }: PropsWithChildren) { {slides.map((slide, index) => ( ))}
-
+
{slides.map((_, index) => (
}

-

- - {`${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;