diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f1cb40a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "prettier.printWidth": 120 +} diff --git a/client/public/images/PodiumLevel/PodiumLevelIndoor.jpg b/client/public/images/PodiumLevel/PodiumLevelIndoor.jpg new file mode 100644 index 0000000..b985958 Binary files /dev/null and b/client/public/images/PodiumLevel/PodiumLevelIndoor.jpg differ diff --git a/client/public/images/PodiumLevel/PodiumLevelOutdoor.jpg b/client/public/images/PodiumLevel/PodiumLevelOutdoor.jpg new file mode 100644 index 0000000..a7875b6 Binary files /dev/null and b/client/public/images/PodiumLevel/PodiumLevelOutdoor.jpg differ diff --git a/client/public/images/groundLevel/groundLevel.jpg b/client/public/images/groundLevel/groundLevel.jpg new file mode 100644 index 0000000..e9cd99c Binary files /dev/null and b/client/public/images/groundLevel/groundLevel.jpg differ diff --git a/client/public/images/groundLevelSlider/1.jpg b/client/public/images/groundLevelSlider/1.jpg new file mode 100644 index 0000000..8e71868 Binary files /dev/null and b/client/public/images/groundLevelSlider/1.jpg differ diff --git a/client/public/images/groundLevelSlider/2.jpg b/client/public/images/groundLevelSlider/2.jpg new file mode 100644 index 0000000..c8987be Binary files /dev/null and b/client/public/images/groundLevelSlider/2.jpg differ diff --git a/client/public/images/groundLevelSlider/3.jpg b/client/public/images/groundLevelSlider/3.jpg new file mode 100644 index 0000000..c711e44 Binary files /dev/null and b/client/public/images/groundLevelSlider/3.jpg differ diff --git a/client/public/images/groundLevelSlider/4.jpg b/client/public/images/groundLevelSlider/4.jpg new file mode 100644 index 0000000..4046b51 Binary files /dev/null and b/client/public/images/groundLevelSlider/4.jpg differ diff --git a/client/public/images/groundLevelSlider/5.jpg b/client/public/images/groundLevelSlider/5.jpg new file mode 100644 index 0000000..392a662 Binary files /dev/null and b/client/public/images/groundLevelSlider/5.jpg differ diff --git a/client/public/images/groundLevelSlider/6.jpg b/client/public/images/groundLevelSlider/6.jpg new file mode 100644 index 0000000..2dcf569 Binary files /dev/null and b/client/public/images/groundLevelSlider/6.jpg differ diff --git a/client/public/images/podiumLevelSlider/1.jpg b/client/public/images/podiumLevelSlider/1.jpg new file mode 100644 index 0000000..a731fa5 Binary files /dev/null and b/client/public/images/podiumLevelSlider/1.jpg differ diff --git a/client/public/images/podiumLevelSlider/10.jpg b/client/public/images/podiumLevelSlider/10.jpg new file mode 100644 index 0000000..74a5d6b Binary files /dev/null and b/client/public/images/podiumLevelSlider/10.jpg differ diff --git a/client/public/images/podiumLevelSlider/11.jpg b/client/public/images/podiumLevelSlider/11.jpg new file mode 100644 index 0000000..f301aaf Binary files /dev/null and b/client/public/images/podiumLevelSlider/11.jpg differ diff --git a/client/public/images/podiumLevelSlider/2.jpg b/client/public/images/podiumLevelSlider/2.jpg new file mode 100644 index 0000000..16716f4 Binary files /dev/null and b/client/public/images/podiumLevelSlider/2.jpg differ diff --git a/client/public/images/podiumLevelSlider/3.jpg b/client/public/images/podiumLevelSlider/3.jpg new file mode 100644 index 0000000..c8450d4 Binary files /dev/null and b/client/public/images/podiumLevelSlider/3.jpg differ diff --git a/client/public/images/podiumLevelSlider/4.jpg b/client/public/images/podiumLevelSlider/4.jpg new file mode 100644 index 0000000..a32212a Binary files /dev/null and b/client/public/images/podiumLevelSlider/4.jpg differ diff --git a/client/public/images/podiumLevelSlider/5.jpg b/client/public/images/podiumLevelSlider/5.jpg new file mode 100644 index 0000000..3859adc Binary files /dev/null and b/client/public/images/podiumLevelSlider/5.jpg differ diff --git a/client/public/images/podiumLevelSlider/6.jpg b/client/public/images/podiumLevelSlider/6.jpg new file mode 100644 index 0000000..c8ba2da Binary files /dev/null and b/client/public/images/podiumLevelSlider/6.jpg differ diff --git a/client/public/images/podiumLevelSlider/7.jpg b/client/public/images/podiumLevelSlider/7.jpg new file mode 100644 index 0000000..c21b7b0 Binary files /dev/null and b/client/public/images/podiumLevelSlider/7.jpg differ diff --git a/client/public/images/podiumLevelSlider/8.jpg b/client/public/images/podiumLevelSlider/8.jpg new file mode 100644 index 0000000..7c72e99 Binary files /dev/null and b/client/public/images/podiumLevelSlider/8.jpg differ diff --git a/client/public/images/podiumLevelSlider/9.jpg b/client/public/images/podiumLevelSlider/9.jpg new file mode 100644 index 0000000..113eb85 Binary files /dev/null and b/client/public/images/podiumLevelSlider/9.jpg differ diff --git a/client/public/images/rooftop/rooftop.jpg b/client/public/images/rooftop/rooftop.jpg new file mode 100644 index 0000000..b28619a Binary files /dev/null and b/client/public/images/rooftop/rooftop.jpg differ diff --git a/client/public/images/rooftopSlider/1.jpg b/client/public/images/rooftopSlider/1.jpg new file mode 100644 index 0000000..1b2083f Binary files /dev/null and b/client/public/images/rooftopSlider/1.jpg differ diff --git a/client/public/images/sequence/1.jpg b/client/public/images/sequence/1.jpg index e5a66c0..f864dea 100644 Binary files a/client/public/images/sequence/1.jpg and b/client/public/images/sequence/1.jpg differ diff --git a/client/public/images/sequence/10.jpg b/client/public/images/sequence/10.jpg index 47d3920..17fd950 100644 Binary files a/client/public/images/sequence/10.jpg and b/client/public/images/sequence/10.jpg differ diff --git a/client/public/images/sequence/100.jpg b/client/public/images/sequence/100.jpg index 06f4616..bcd081e 100644 Binary files a/client/public/images/sequence/100.jpg and b/client/public/images/sequence/100.jpg differ diff --git a/client/public/images/sequence/101.jpg b/client/public/images/sequence/101.jpg index 7cdc960..500cd07 100644 Binary files a/client/public/images/sequence/101.jpg and b/client/public/images/sequence/101.jpg differ diff --git a/client/public/images/sequence/102.jpg b/client/public/images/sequence/102.jpg index 7075707..487ae81 100644 Binary files a/client/public/images/sequence/102.jpg and b/client/public/images/sequence/102.jpg differ diff --git a/client/public/images/sequence/103.jpg b/client/public/images/sequence/103.jpg index 71c3a05..1689484 100644 Binary files a/client/public/images/sequence/103.jpg and b/client/public/images/sequence/103.jpg differ diff --git a/client/public/images/sequence/104.jpg b/client/public/images/sequence/104.jpg index ef9df67..970dc28 100644 Binary files a/client/public/images/sequence/104.jpg and b/client/public/images/sequence/104.jpg differ diff --git a/client/public/images/sequence/105.jpg b/client/public/images/sequence/105.jpg index 9b42e70..56b14f7 100644 Binary files a/client/public/images/sequence/105.jpg and b/client/public/images/sequence/105.jpg differ diff --git a/client/public/images/sequence/106.jpg b/client/public/images/sequence/106.jpg index 932ba36..12b801c 100644 Binary files a/client/public/images/sequence/106.jpg and b/client/public/images/sequence/106.jpg differ diff --git a/client/public/images/sequence/107.jpg b/client/public/images/sequence/107.jpg index 15d9912..5e36106 100644 Binary files a/client/public/images/sequence/107.jpg and b/client/public/images/sequence/107.jpg differ diff --git a/client/public/images/sequence/108.jpg b/client/public/images/sequence/108.jpg index 6b49b83..aeb6975 100644 Binary files a/client/public/images/sequence/108.jpg and b/client/public/images/sequence/108.jpg differ diff --git a/client/public/images/sequence/109.jpg b/client/public/images/sequence/109.jpg index 3bc2f88..0232fea 100644 Binary files a/client/public/images/sequence/109.jpg and b/client/public/images/sequence/109.jpg differ diff --git a/client/public/images/sequence/11.jpg b/client/public/images/sequence/11.jpg index 3e0c882..302ff02 100644 Binary files a/client/public/images/sequence/11.jpg and b/client/public/images/sequence/11.jpg differ diff --git a/client/public/images/sequence/110.jpg b/client/public/images/sequence/110.jpg index 1b1a118..41853fa 100644 Binary files a/client/public/images/sequence/110.jpg and b/client/public/images/sequence/110.jpg differ diff --git a/client/public/images/sequence/111.jpg b/client/public/images/sequence/111.jpg index 98559ea..4de95c5 100644 Binary files a/client/public/images/sequence/111.jpg and b/client/public/images/sequence/111.jpg differ diff --git a/client/public/images/sequence/112.jpg b/client/public/images/sequence/112.jpg index b45be60..f07c060 100644 Binary files a/client/public/images/sequence/112.jpg and b/client/public/images/sequence/112.jpg differ diff --git a/client/public/images/sequence/113.jpg b/client/public/images/sequence/113.jpg index 2ea7e9e..ec2f4ce 100644 Binary files a/client/public/images/sequence/113.jpg and b/client/public/images/sequence/113.jpg differ diff --git a/client/public/images/sequence/114.jpg b/client/public/images/sequence/114.jpg index 64769be..d063f54 100644 Binary files a/client/public/images/sequence/114.jpg and b/client/public/images/sequence/114.jpg differ diff --git a/client/public/images/sequence/115.jpg b/client/public/images/sequence/115.jpg index f6d9fb1..e14bfa3 100644 Binary files a/client/public/images/sequence/115.jpg and b/client/public/images/sequence/115.jpg differ diff --git a/client/public/images/sequence/116.jpg b/client/public/images/sequence/116.jpg index 83db19b..db31998 100644 Binary files a/client/public/images/sequence/116.jpg and b/client/public/images/sequence/116.jpg differ diff --git a/client/public/images/sequence/117.jpg b/client/public/images/sequence/117.jpg index d4f289c..88624fb 100644 Binary files a/client/public/images/sequence/117.jpg and b/client/public/images/sequence/117.jpg differ diff --git a/client/public/images/sequence/118.jpg b/client/public/images/sequence/118.jpg index 941fa69..542cf29 100644 Binary files a/client/public/images/sequence/118.jpg and b/client/public/images/sequence/118.jpg differ diff --git a/client/public/images/sequence/119.jpg b/client/public/images/sequence/119.jpg index 1fc137b..21ddcc1 100644 Binary files a/client/public/images/sequence/119.jpg and b/client/public/images/sequence/119.jpg differ diff --git a/client/public/images/sequence/12.jpg b/client/public/images/sequence/12.jpg index f56a2b7..5dca52b 100644 Binary files a/client/public/images/sequence/12.jpg and b/client/public/images/sequence/12.jpg differ diff --git a/client/public/images/sequence/120.jpg b/client/public/images/sequence/120.jpg index e8267c4..0ff93c8 100644 Binary files a/client/public/images/sequence/120.jpg and b/client/public/images/sequence/120.jpg differ diff --git a/client/public/images/sequence/121.jpg b/client/public/images/sequence/121.jpg index c40dd1f..33a65b1 100644 Binary files a/client/public/images/sequence/121.jpg and b/client/public/images/sequence/121.jpg differ diff --git a/client/public/images/sequence/122.jpg b/client/public/images/sequence/122.jpg index 0d9fb1d..b91c5c3 100644 Binary files a/client/public/images/sequence/122.jpg and b/client/public/images/sequence/122.jpg differ diff --git a/client/public/images/sequence/123.jpg b/client/public/images/sequence/123.jpg index 3697bbd..f9d0fdd 100644 Binary files a/client/public/images/sequence/123.jpg and b/client/public/images/sequence/123.jpg differ diff --git a/client/public/images/sequence/124.jpg b/client/public/images/sequence/124.jpg index 0a57eb9..2dd65db 100644 Binary files a/client/public/images/sequence/124.jpg and b/client/public/images/sequence/124.jpg differ diff --git a/client/public/images/sequence/125.jpg b/client/public/images/sequence/125.jpg index a655ca1..2797833 100644 Binary files a/client/public/images/sequence/125.jpg and b/client/public/images/sequence/125.jpg differ diff --git a/client/public/images/sequence/126.jpg b/client/public/images/sequence/126.jpg index 357422e..5e06ad3 100644 Binary files a/client/public/images/sequence/126.jpg and b/client/public/images/sequence/126.jpg differ diff --git a/client/public/images/sequence/127.jpg b/client/public/images/sequence/127.jpg index f5ac49e..c619d7a 100644 Binary files a/client/public/images/sequence/127.jpg and b/client/public/images/sequence/127.jpg differ diff --git a/client/public/images/sequence/128.jpg b/client/public/images/sequence/128.jpg index a102955..2464225 100644 Binary files a/client/public/images/sequence/128.jpg and b/client/public/images/sequence/128.jpg differ diff --git a/client/public/images/sequence/129.jpg b/client/public/images/sequence/129.jpg index 0fb614a..ad46adb 100644 Binary files a/client/public/images/sequence/129.jpg and b/client/public/images/sequence/129.jpg differ diff --git a/client/public/images/sequence/13.jpg b/client/public/images/sequence/13.jpg index 83aa16b..3332ece 100644 Binary files a/client/public/images/sequence/13.jpg and b/client/public/images/sequence/13.jpg differ diff --git a/client/public/images/sequence/130.jpg b/client/public/images/sequence/130.jpg index 9aa64f3..16ea325 100644 Binary files a/client/public/images/sequence/130.jpg and b/client/public/images/sequence/130.jpg differ diff --git a/client/public/images/sequence/131.jpg b/client/public/images/sequence/131.jpg index 8226511..beeecba 100644 Binary files a/client/public/images/sequence/131.jpg and b/client/public/images/sequence/131.jpg differ diff --git a/client/public/images/sequence/132.jpg b/client/public/images/sequence/132.jpg index d0a6e60..baf5d71 100644 Binary files a/client/public/images/sequence/132.jpg and b/client/public/images/sequence/132.jpg differ diff --git a/client/public/images/sequence/133.jpg b/client/public/images/sequence/133.jpg index d39f655..eff7b5e 100644 Binary files a/client/public/images/sequence/133.jpg and b/client/public/images/sequence/133.jpg differ diff --git a/client/public/images/sequence/134.jpg b/client/public/images/sequence/134.jpg index b8d6ad2..e1b40f8 100644 Binary files a/client/public/images/sequence/134.jpg and b/client/public/images/sequence/134.jpg differ diff --git a/client/public/images/sequence/135.jpg b/client/public/images/sequence/135.jpg index 30c2779..742a18c 100644 Binary files a/client/public/images/sequence/135.jpg and b/client/public/images/sequence/135.jpg differ diff --git a/client/public/images/sequence/136.jpg b/client/public/images/sequence/136.jpg index e5ac799..9e9cca3 100644 Binary files a/client/public/images/sequence/136.jpg and b/client/public/images/sequence/136.jpg differ diff --git a/client/public/images/sequence/137.jpg b/client/public/images/sequence/137.jpg index 1c6582a..e9ebd05 100644 Binary files a/client/public/images/sequence/137.jpg and b/client/public/images/sequence/137.jpg differ diff --git a/client/public/images/sequence/138.jpg b/client/public/images/sequence/138.jpg index 9f4c892..4daa181 100644 Binary files a/client/public/images/sequence/138.jpg and b/client/public/images/sequence/138.jpg differ diff --git a/client/public/images/sequence/139.jpg b/client/public/images/sequence/139.jpg index 51de4c6..3f097cf 100644 Binary files a/client/public/images/sequence/139.jpg and b/client/public/images/sequence/139.jpg differ diff --git a/client/public/images/sequence/14.jpg b/client/public/images/sequence/14.jpg index 7f1bac2..3d04355 100644 Binary files a/client/public/images/sequence/14.jpg and b/client/public/images/sequence/14.jpg differ diff --git a/client/public/images/sequence/140.jpg b/client/public/images/sequence/140.jpg index 63c8d36..e2cc6e5 100644 Binary files a/client/public/images/sequence/140.jpg and b/client/public/images/sequence/140.jpg differ diff --git a/client/public/images/sequence/141.jpg b/client/public/images/sequence/141.jpg index db3def1..bfbccc5 100644 Binary files a/client/public/images/sequence/141.jpg and b/client/public/images/sequence/141.jpg differ diff --git a/client/public/images/sequence/142.jpg b/client/public/images/sequence/142.jpg index 96fa3bc..06e53b1 100644 Binary files a/client/public/images/sequence/142.jpg and b/client/public/images/sequence/142.jpg differ diff --git a/client/public/images/sequence/143.jpg b/client/public/images/sequence/143.jpg index 8d69c70..499bc14 100644 Binary files a/client/public/images/sequence/143.jpg and b/client/public/images/sequence/143.jpg differ diff --git a/client/public/images/sequence/144.jpg b/client/public/images/sequence/144.jpg index fdc0dd4..8d25aea 100644 Binary files a/client/public/images/sequence/144.jpg and b/client/public/images/sequence/144.jpg differ diff --git a/client/public/images/sequence/145.jpg b/client/public/images/sequence/145.jpg index 14349f6..7f11a04 100644 Binary files a/client/public/images/sequence/145.jpg and b/client/public/images/sequence/145.jpg differ diff --git a/client/public/images/sequence/146.jpg b/client/public/images/sequence/146.jpg index 84fc0fd..5bf97ce 100644 Binary files a/client/public/images/sequence/146.jpg and b/client/public/images/sequence/146.jpg differ diff --git a/client/public/images/sequence/147.jpg b/client/public/images/sequence/147.jpg index b1115b4..081a3f7 100644 Binary files a/client/public/images/sequence/147.jpg and b/client/public/images/sequence/147.jpg differ diff --git a/client/public/images/sequence/148.jpg b/client/public/images/sequence/148.jpg index f3fc605..5e4481d 100644 Binary files a/client/public/images/sequence/148.jpg and b/client/public/images/sequence/148.jpg differ diff --git a/client/public/images/sequence/149.jpg b/client/public/images/sequence/149.jpg index 6f9a26e..3351407 100644 Binary files a/client/public/images/sequence/149.jpg and b/client/public/images/sequence/149.jpg differ diff --git a/client/public/images/sequence/15.jpg b/client/public/images/sequence/15.jpg index 6d8648c..99d8b3e 100644 Binary files a/client/public/images/sequence/15.jpg and b/client/public/images/sequence/15.jpg differ diff --git a/client/public/images/sequence/150.jpg b/client/public/images/sequence/150.jpg index af529f5..7361357 100644 Binary files a/client/public/images/sequence/150.jpg and b/client/public/images/sequence/150.jpg differ diff --git a/client/public/images/sequence/151.jpg b/client/public/images/sequence/151.jpg index 2ff038c..f98c8b4 100644 Binary files a/client/public/images/sequence/151.jpg and b/client/public/images/sequence/151.jpg differ diff --git a/client/public/images/sequence/152.jpg b/client/public/images/sequence/152.jpg index d850a5d..aa34c3b 100644 Binary files a/client/public/images/sequence/152.jpg and b/client/public/images/sequence/152.jpg differ diff --git a/client/public/images/sequence/153.jpg b/client/public/images/sequence/153.jpg index db7ab23..6fcf319 100644 Binary files a/client/public/images/sequence/153.jpg and b/client/public/images/sequence/153.jpg differ diff --git a/client/public/images/sequence/154.jpg b/client/public/images/sequence/154.jpg index 19fbf95..8a8e452 100644 Binary files a/client/public/images/sequence/154.jpg and b/client/public/images/sequence/154.jpg differ diff --git a/client/public/images/sequence/155.jpg b/client/public/images/sequence/155.jpg index f59a858..d825521 100644 Binary files a/client/public/images/sequence/155.jpg and b/client/public/images/sequence/155.jpg differ diff --git a/client/public/images/sequence/156.jpg b/client/public/images/sequence/156.jpg index 0fd55a2..f04dd60 100644 Binary files a/client/public/images/sequence/156.jpg and b/client/public/images/sequence/156.jpg differ diff --git a/client/public/images/sequence/157.jpg b/client/public/images/sequence/157.jpg index 97923f5..342c87a 100644 Binary files a/client/public/images/sequence/157.jpg and b/client/public/images/sequence/157.jpg differ diff --git a/client/public/images/sequence/158.jpg b/client/public/images/sequence/158.jpg index 4af6235..6be86b9 100644 Binary files a/client/public/images/sequence/158.jpg and b/client/public/images/sequence/158.jpg differ diff --git a/client/public/images/sequence/159.jpg b/client/public/images/sequence/159.jpg index d2709ca..6cf0481 100644 Binary files a/client/public/images/sequence/159.jpg and b/client/public/images/sequence/159.jpg differ diff --git a/client/public/images/sequence/16.jpg b/client/public/images/sequence/16.jpg index 4eaa6f1..584afbf 100644 Binary files a/client/public/images/sequence/16.jpg and b/client/public/images/sequence/16.jpg differ diff --git a/client/public/images/sequence/160.jpg b/client/public/images/sequence/160.jpg index 88045e7..75d5f8f 100644 Binary files a/client/public/images/sequence/160.jpg and b/client/public/images/sequence/160.jpg differ diff --git a/client/public/images/sequence/161.jpg b/client/public/images/sequence/161.jpg index e300811..1a07504 100644 Binary files a/client/public/images/sequence/161.jpg and b/client/public/images/sequence/161.jpg differ diff --git a/client/public/images/sequence/162.jpg b/client/public/images/sequence/162.jpg index b6ce74a..432a28a 100644 Binary files a/client/public/images/sequence/162.jpg and b/client/public/images/sequence/162.jpg differ diff --git a/client/public/images/sequence/163.jpg b/client/public/images/sequence/163.jpg index 621dcca..b6877e6 100644 Binary files a/client/public/images/sequence/163.jpg and b/client/public/images/sequence/163.jpg differ diff --git a/client/public/images/sequence/164.jpg b/client/public/images/sequence/164.jpg index c7c46a3..7b44d84 100644 Binary files a/client/public/images/sequence/164.jpg and b/client/public/images/sequence/164.jpg differ diff --git a/client/public/images/sequence/165.jpg b/client/public/images/sequence/165.jpg index 39c500a..25875fe 100644 Binary files a/client/public/images/sequence/165.jpg and b/client/public/images/sequence/165.jpg differ diff --git a/client/public/images/sequence/166.jpg b/client/public/images/sequence/166.jpg index 9a0b322..807fed4 100644 Binary files a/client/public/images/sequence/166.jpg and b/client/public/images/sequence/166.jpg differ diff --git a/client/public/images/sequence/167.jpg b/client/public/images/sequence/167.jpg index a63662c..3b7c5e6 100644 Binary files a/client/public/images/sequence/167.jpg and b/client/public/images/sequence/167.jpg differ diff --git a/client/public/images/sequence/168.jpg b/client/public/images/sequence/168.jpg index 80a2429..bb6f192 100644 Binary files a/client/public/images/sequence/168.jpg and b/client/public/images/sequence/168.jpg differ diff --git a/client/public/images/sequence/169.jpg b/client/public/images/sequence/169.jpg index a7e8caa..8ee684b 100644 Binary files a/client/public/images/sequence/169.jpg and b/client/public/images/sequence/169.jpg differ diff --git a/client/public/images/sequence/17.jpg b/client/public/images/sequence/17.jpg index 15a28cc..cf21617 100644 Binary files a/client/public/images/sequence/17.jpg and b/client/public/images/sequence/17.jpg differ diff --git a/client/public/images/sequence/170.jpg b/client/public/images/sequence/170.jpg index ee84c1e..bc194de 100644 Binary files a/client/public/images/sequence/170.jpg and b/client/public/images/sequence/170.jpg differ diff --git a/client/public/images/sequence/171.jpg b/client/public/images/sequence/171.jpg index 72c4ab5..a3d1d1e 100644 Binary files a/client/public/images/sequence/171.jpg and b/client/public/images/sequence/171.jpg differ diff --git a/client/public/images/sequence/172.jpg b/client/public/images/sequence/172.jpg index 4459999..b4022b0 100644 Binary files a/client/public/images/sequence/172.jpg and b/client/public/images/sequence/172.jpg differ diff --git a/client/public/images/sequence/173.jpg b/client/public/images/sequence/173.jpg index d59b749..9d73490 100644 Binary files a/client/public/images/sequence/173.jpg and b/client/public/images/sequence/173.jpg differ diff --git a/client/public/images/sequence/174.jpg b/client/public/images/sequence/174.jpg index fe7f4d1..df7dea9 100644 Binary files a/client/public/images/sequence/174.jpg and b/client/public/images/sequence/174.jpg differ diff --git a/client/public/images/sequence/175.jpg b/client/public/images/sequence/175.jpg index 4e47fe6..2580441 100644 Binary files a/client/public/images/sequence/175.jpg and b/client/public/images/sequence/175.jpg differ diff --git a/client/public/images/sequence/176.jpg b/client/public/images/sequence/176.jpg index 8b837a7..e38daee 100644 Binary files a/client/public/images/sequence/176.jpg and b/client/public/images/sequence/176.jpg differ diff --git a/client/public/images/sequence/177.jpg b/client/public/images/sequence/177.jpg index 5204d2f..00555b0 100644 Binary files a/client/public/images/sequence/177.jpg and b/client/public/images/sequence/177.jpg differ diff --git a/client/public/images/sequence/178.jpg b/client/public/images/sequence/178.jpg index e009d25..672f0b0 100644 Binary files a/client/public/images/sequence/178.jpg and b/client/public/images/sequence/178.jpg differ diff --git a/client/public/images/sequence/179.jpg b/client/public/images/sequence/179.jpg index 014a063..c944180 100644 Binary files a/client/public/images/sequence/179.jpg and b/client/public/images/sequence/179.jpg differ diff --git a/client/public/images/sequence/18.jpg b/client/public/images/sequence/18.jpg index 6300535..6c2ddcd 100644 Binary files a/client/public/images/sequence/18.jpg and b/client/public/images/sequence/18.jpg differ diff --git a/client/public/images/sequence/180.jpg b/client/public/images/sequence/180.jpg index c9c650a..afea281 100644 Binary files a/client/public/images/sequence/180.jpg and b/client/public/images/sequence/180.jpg differ diff --git a/client/public/images/sequence/181.jpg b/client/public/images/sequence/181.jpg index a5e815a..026c1c6 100644 Binary files a/client/public/images/sequence/181.jpg and b/client/public/images/sequence/181.jpg differ diff --git a/client/public/images/sequence/182.jpg b/client/public/images/sequence/182.jpg index 730368a..0c72bf5 100644 Binary files a/client/public/images/sequence/182.jpg and b/client/public/images/sequence/182.jpg differ diff --git a/client/public/images/sequence/183.jpg b/client/public/images/sequence/183.jpg index 8757239..ce9ae32 100644 Binary files a/client/public/images/sequence/183.jpg and b/client/public/images/sequence/183.jpg differ diff --git a/client/public/images/sequence/184.jpg b/client/public/images/sequence/184.jpg index c3cc7a5..a145d40 100644 Binary files a/client/public/images/sequence/184.jpg and b/client/public/images/sequence/184.jpg differ diff --git a/client/public/images/sequence/185.jpg b/client/public/images/sequence/185.jpg index a914f9d..f2252e6 100644 Binary files a/client/public/images/sequence/185.jpg and b/client/public/images/sequence/185.jpg differ diff --git a/client/public/images/sequence/186.jpg b/client/public/images/sequence/186.jpg index 20f08f0..9316043 100644 Binary files a/client/public/images/sequence/186.jpg and b/client/public/images/sequence/186.jpg differ diff --git a/client/public/images/sequence/187.jpg b/client/public/images/sequence/187.jpg index aedb76c..884d39f 100644 Binary files a/client/public/images/sequence/187.jpg and b/client/public/images/sequence/187.jpg differ diff --git a/client/public/images/sequence/188.jpg b/client/public/images/sequence/188.jpg index 76d6b20..a9f467c 100644 Binary files a/client/public/images/sequence/188.jpg and b/client/public/images/sequence/188.jpg differ diff --git a/client/public/images/sequence/189.jpg b/client/public/images/sequence/189.jpg index bed4394..36908fa 100644 Binary files a/client/public/images/sequence/189.jpg and b/client/public/images/sequence/189.jpg differ diff --git a/client/public/images/sequence/19.jpg b/client/public/images/sequence/19.jpg index 87cf1ef..6fc3e27 100644 Binary files a/client/public/images/sequence/19.jpg and b/client/public/images/sequence/19.jpg differ diff --git a/client/public/images/sequence/190.jpg b/client/public/images/sequence/190.jpg index 940b222..b741a45 100644 Binary files a/client/public/images/sequence/190.jpg and b/client/public/images/sequence/190.jpg differ diff --git a/client/public/images/sequence/191.jpg b/client/public/images/sequence/191.jpg index 86141ff..19db1a7 100644 Binary files a/client/public/images/sequence/191.jpg and b/client/public/images/sequence/191.jpg differ diff --git a/client/public/images/sequence/192.jpg b/client/public/images/sequence/192.jpg index c6061a7..f171852 100644 Binary files a/client/public/images/sequence/192.jpg and b/client/public/images/sequence/192.jpg differ diff --git a/client/public/images/sequence/193.jpg b/client/public/images/sequence/193.jpg index 4044ca5..19c5d1e 100644 Binary files a/client/public/images/sequence/193.jpg and b/client/public/images/sequence/193.jpg differ diff --git a/client/public/images/sequence/194.jpg b/client/public/images/sequence/194.jpg index 2b0653c..5b565e3 100644 Binary files a/client/public/images/sequence/194.jpg and b/client/public/images/sequence/194.jpg differ diff --git a/client/public/images/sequence/195.jpg b/client/public/images/sequence/195.jpg index 1469538..6975707 100644 Binary files a/client/public/images/sequence/195.jpg and b/client/public/images/sequence/195.jpg differ diff --git a/client/public/images/sequence/196.jpg b/client/public/images/sequence/196.jpg index 2c9d534..38f6c8a 100644 Binary files a/client/public/images/sequence/196.jpg and b/client/public/images/sequence/196.jpg differ diff --git a/client/public/images/sequence/197.jpg b/client/public/images/sequence/197.jpg index a3a4cd1..490e962 100644 Binary files a/client/public/images/sequence/197.jpg and b/client/public/images/sequence/197.jpg differ diff --git a/client/public/images/sequence/198.jpg b/client/public/images/sequence/198.jpg index ac9d5be..fd40fe5 100644 Binary files a/client/public/images/sequence/198.jpg and b/client/public/images/sequence/198.jpg differ diff --git a/client/public/images/sequence/199.jpg b/client/public/images/sequence/199.jpg index bb03372..4e6cc1e 100644 Binary files a/client/public/images/sequence/199.jpg and b/client/public/images/sequence/199.jpg differ diff --git a/client/public/images/sequence/2.jpg b/client/public/images/sequence/2.jpg index 8a8ad75..3bdee05 100644 Binary files a/client/public/images/sequence/2.jpg and b/client/public/images/sequence/2.jpg differ diff --git a/client/public/images/sequence/20.jpg b/client/public/images/sequence/20.jpg index 55d005a..5e1ea66 100644 Binary files a/client/public/images/sequence/20.jpg and b/client/public/images/sequence/20.jpg differ diff --git a/client/public/images/sequence/200.jpg b/client/public/images/sequence/200.jpg index 4f269bb..a9feb5d 100644 Binary files a/client/public/images/sequence/200.jpg and b/client/public/images/sequence/200.jpg differ diff --git a/client/public/images/sequence/201.jpg b/client/public/images/sequence/201.jpg index 9fff552..03d2422 100644 Binary files a/client/public/images/sequence/201.jpg and b/client/public/images/sequence/201.jpg differ diff --git a/client/public/images/sequence/202.jpg b/client/public/images/sequence/202.jpg index 148424c..c8feb3d 100644 Binary files a/client/public/images/sequence/202.jpg and b/client/public/images/sequence/202.jpg differ diff --git a/client/public/images/sequence/203.jpg b/client/public/images/sequence/203.jpg index 86813a1..9785051 100644 Binary files a/client/public/images/sequence/203.jpg and b/client/public/images/sequence/203.jpg differ diff --git a/client/public/images/sequence/204.jpg b/client/public/images/sequence/204.jpg index 592e485..ced9ac6 100644 Binary files a/client/public/images/sequence/204.jpg and b/client/public/images/sequence/204.jpg differ diff --git a/client/public/images/sequence/205.jpg b/client/public/images/sequence/205.jpg index 7c7c8db..76505c8 100644 Binary files a/client/public/images/sequence/205.jpg and b/client/public/images/sequence/205.jpg differ diff --git a/client/public/images/sequence/206.jpg b/client/public/images/sequence/206.jpg index dfc40c1..ea6d481 100644 Binary files a/client/public/images/sequence/206.jpg and b/client/public/images/sequence/206.jpg differ diff --git a/client/public/images/sequence/207.jpg b/client/public/images/sequence/207.jpg index d16ee5b..99fb0ef 100644 Binary files a/client/public/images/sequence/207.jpg and b/client/public/images/sequence/207.jpg differ diff --git a/client/public/images/sequence/208.jpg b/client/public/images/sequence/208.jpg index cc38b53..410a64e 100644 Binary files a/client/public/images/sequence/208.jpg and b/client/public/images/sequence/208.jpg differ diff --git a/client/public/images/sequence/209.jpg b/client/public/images/sequence/209.jpg index 1adc360..9423dd8 100644 Binary files a/client/public/images/sequence/209.jpg and b/client/public/images/sequence/209.jpg differ diff --git a/client/public/images/sequence/21.jpg b/client/public/images/sequence/21.jpg index d42a750..f7510b7 100644 Binary files a/client/public/images/sequence/21.jpg and b/client/public/images/sequence/21.jpg differ diff --git a/client/public/images/sequence/210.jpg b/client/public/images/sequence/210.jpg index 83dbd6d..7b311c9 100644 Binary files a/client/public/images/sequence/210.jpg and b/client/public/images/sequence/210.jpg differ diff --git a/client/public/images/sequence/211.jpg b/client/public/images/sequence/211.jpg index 2f7ea39..b099164 100644 Binary files a/client/public/images/sequence/211.jpg and b/client/public/images/sequence/211.jpg differ diff --git a/client/public/images/sequence/212.jpg b/client/public/images/sequence/212.jpg index d112d3d..5da3258 100644 Binary files a/client/public/images/sequence/212.jpg and b/client/public/images/sequence/212.jpg differ diff --git a/client/public/images/sequence/213.jpg b/client/public/images/sequence/213.jpg index 8e71b2e..36f9d88 100644 Binary files a/client/public/images/sequence/213.jpg and b/client/public/images/sequence/213.jpg differ diff --git a/client/public/images/sequence/214.jpg b/client/public/images/sequence/214.jpg index f8a94b2..78448f1 100644 Binary files a/client/public/images/sequence/214.jpg and b/client/public/images/sequence/214.jpg differ diff --git a/client/public/images/sequence/215.jpg b/client/public/images/sequence/215.jpg index 2053145..e2fc564 100644 Binary files a/client/public/images/sequence/215.jpg and b/client/public/images/sequence/215.jpg differ diff --git a/client/public/images/sequence/216.jpg b/client/public/images/sequence/216.jpg index 0395fd9..dde1f54 100644 Binary files a/client/public/images/sequence/216.jpg and b/client/public/images/sequence/216.jpg differ diff --git a/client/public/images/sequence/217.jpg b/client/public/images/sequence/217.jpg index ffb72d5..894b4b6 100644 Binary files a/client/public/images/sequence/217.jpg and b/client/public/images/sequence/217.jpg differ diff --git a/client/public/images/sequence/218.jpg b/client/public/images/sequence/218.jpg index fe0f21e..eb030b3 100644 Binary files a/client/public/images/sequence/218.jpg and b/client/public/images/sequence/218.jpg differ diff --git a/client/public/images/sequence/219.jpg b/client/public/images/sequence/219.jpg index 2101046..ab4f784 100644 Binary files a/client/public/images/sequence/219.jpg and b/client/public/images/sequence/219.jpg differ diff --git a/client/public/images/sequence/22.jpg b/client/public/images/sequence/22.jpg index ac5f951..365e4b8 100644 Binary files a/client/public/images/sequence/22.jpg and b/client/public/images/sequence/22.jpg differ diff --git a/client/public/images/sequence/220.jpg b/client/public/images/sequence/220.jpg index 9743446..51254cc 100644 Binary files a/client/public/images/sequence/220.jpg and b/client/public/images/sequence/220.jpg differ diff --git a/client/public/images/sequence/221.jpg b/client/public/images/sequence/221.jpg index 19278cb..8cceb6f 100644 Binary files a/client/public/images/sequence/221.jpg and b/client/public/images/sequence/221.jpg differ diff --git a/client/public/images/sequence/222.jpg b/client/public/images/sequence/222.jpg index d57df8e..ce237eb 100644 Binary files a/client/public/images/sequence/222.jpg and b/client/public/images/sequence/222.jpg differ diff --git a/client/public/images/sequence/223.jpg b/client/public/images/sequence/223.jpg index 55eddb3..018ce6c 100644 Binary files a/client/public/images/sequence/223.jpg and b/client/public/images/sequence/223.jpg differ diff --git a/client/public/images/sequence/224.jpg b/client/public/images/sequence/224.jpg index bd59296..d544b1f 100644 Binary files a/client/public/images/sequence/224.jpg and b/client/public/images/sequence/224.jpg differ diff --git a/client/public/images/sequence/225.jpg b/client/public/images/sequence/225.jpg index 84ec799..d669afa 100644 Binary files a/client/public/images/sequence/225.jpg and b/client/public/images/sequence/225.jpg differ diff --git a/client/public/images/sequence/226.jpg b/client/public/images/sequence/226.jpg index 1e42143..bdccc95 100644 Binary files a/client/public/images/sequence/226.jpg and b/client/public/images/sequence/226.jpg differ diff --git a/client/public/images/sequence/227.jpg b/client/public/images/sequence/227.jpg index 8b18655..bc98299 100644 Binary files a/client/public/images/sequence/227.jpg and b/client/public/images/sequence/227.jpg differ diff --git a/client/public/images/sequence/228.jpg b/client/public/images/sequence/228.jpg index 9e7e981..a2e90d1 100644 Binary files a/client/public/images/sequence/228.jpg and b/client/public/images/sequence/228.jpg differ diff --git a/client/public/images/sequence/229.jpg b/client/public/images/sequence/229.jpg index 92249f7..af9dee5 100644 Binary files a/client/public/images/sequence/229.jpg and b/client/public/images/sequence/229.jpg differ diff --git a/client/public/images/sequence/23.jpg b/client/public/images/sequence/23.jpg index 3419a9e..8cfa3e0 100644 Binary files a/client/public/images/sequence/23.jpg and b/client/public/images/sequence/23.jpg differ diff --git a/client/public/images/sequence/230.jpg b/client/public/images/sequence/230.jpg index 362424a..88d69ac 100644 Binary files a/client/public/images/sequence/230.jpg and b/client/public/images/sequence/230.jpg differ diff --git a/client/public/images/sequence/231.jpg b/client/public/images/sequence/231.jpg index af719a4..1c3c784 100644 Binary files a/client/public/images/sequence/231.jpg and b/client/public/images/sequence/231.jpg differ diff --git a/client/public/images/sequence/232.jpg b/client/public/images/sequence/232.jpg index caab3e1..1256d4e 100644 Binary files a/client/public/images/sequence/232.jpg and b/client/public/images/sequence/232.jpg differ diff --git a/client/public/images/sequence/233.jpg b/client/public/images/sequence/233.jpg index 1f2d0a2..bd40dab 100644 Binary files a/client/public/images/sequence/233.jpg and b/client/public/images/sequence/233.jpg differ diff --git a/client/public/images/sequence/234.jpg b/client/public/images/sequence/234.jpg index dfb0f00..6e6cbec 100644 Binary files a/client/public/images/sequence/234.jpg and b/client/public/images/sequence/234.jpg differ diff --git a/client/public/images/sequence/235.jpg b/client/public/images/sequence/235.jpg index 08fe14a..fab9091 100644 Binary files a/client/public/images/sequence/235.jpg and b/client/public/images/sequence/235.jpg differ diff --git a/client/public/images/sequence/236.jpg b/client/public/images/sequence/236.jpg index ea496d7..bf8f7ae 100644 Binary files a/client/public/images/sequence/236.jpg and b/client/public/images/sequence/236.jpg differ diff --git a/client/public/images/sequence/237.jpg b/client/public/images/sequence/237.jpg index cf8a329..7cc837e 100644 Binary files a/client/public/images/sequence/237.jpg and b/client/public/images/sequence/237.jpg differ diff --git a/client/public/images/sequence/238.jpg b/client/public/images/sequence/238.jpg index 7cc88b2..8c52729 100644 Binary files a/client/public/images/sequence/238.jpg and b/client/public/images/sequence/238.jpg differ diff --git a/client/public/images/sequence/239.jpg b/client/public/images/sequence/239.jpg index 8576165..101d9f0 100644 Binary files a/client/public/images/sequence/239.jpg and b/client/public/images/sequence/239.jpg differ diff --git a/client/public/images/sequence/24.jpg b/client/public/images/sequence/24.jpg index 826322d..5fa160e 100644 Binary files a/client/public/images/sequence/24.jpg and b/client/public/images/sequence/24.jpg differ diff --git a/client/public/images/sequence/240.jpg b/client/public/images/sequence/240.jpg index e20cadb..c3cd6db 100644 Binary files a/client/public/images/sequence/240.jpg and b/client/public/images/sequence/240.jpg differ diff --git a/client/public/images/sequence/241.jpg b/client/public/images/sequence/241.jpg index 95dac11..00c52d8 100644 Binary files a/client/public/images/sequence/241.jpg and b/client/public/images/sequence/241.jpg differ diff --git a/client/public/images/sequence/242.jpg b/client/public/images/sequence/242.jpg index 5c249e9..7bc8ab8 100644 Binary files a/client/public/images/sequence/242.jpg and b/client/public/images/sequence/242.jpg differ diff --git a/client/public/images/sequence/243.jpg b/client/public/images/sequence/243.jpg index 0068f0e..6baa03f 100644 Binary files a/client/public/images/sequence/243.jpg and b/client/public/images/sequence/243.jpg differ diff --git a/client/public/images/sequence/244.jpg b/client/public/images/sequence/244.jpg index 7740000..2396786 100644 Binary files a/client/public/images/sequence/244.jpg and b/client/public/images/sequence/244.jpg differ diff --git a/client/public/images/sequence/245.jpg b/client/public/images/sequence/245.jpg index b1dd553..99bbf43 100644 Binary files a/client/public/images/sequence/245.jpg and b/client/public/images/sequence/245.jpg differ diff --git a/client/public/images/sequence/246.jpg b/client/public/images/sequence/246.jpg index b0ed52a..e32aefa 100644 Binary files a/client/public/images/sequence/246.jpg and b/client/public/images/sequence/246.jpg differ diff --git a/client/public/images/sequence/247.jpg b/client/public/images/sequence/247.jpg index efef9f4..629bed7 100644 Binary files a/client/public/images/sequence/247.jpg and b/client/public/images/sequence/247.jpg differ diff --git a/client/public/images/sequence/248.jpg b/client/public/images/sequence/248.jpg index a58604d..c52dd17 100644 Binary files a/client/public/images/sequence/248.jpg and b/client/public/images/sequence/248.jpg differ diff --git a/client/public/images/sequence/249.jpg b/client/public/images/sequence/249.jpg index 9086c3e..796be7b 100644 Binary files a/client/public/images/sequence/249.jpg and b/client/public/images/sequence/249.jpg differ diff --git a/client/public/images/sequence/25.jpg b/client/public/images/sequence/25.jpg index c645afc..2359d85 100644 Binary files a/client/public/images/sequence/25.jpg and b/client/public/images/sequence/25.jpg differ diff --git a/client/public/images/sequence/250.jpg b/client/public/images/sequence/250.jpg index 651117a..9691a54 100644 Binary files a/client/public/images/sequence/250.jpg and b/client/public/images/sequence/250.jpg differ diff --git a/client/public/images/sequence/251.jpg b/client/public/images/sequence/251.jpg index 3503c21..0cd8f02 100644 Binary files a/client/public/images/sequence/251.jpg and b/client/public/images/sequence/251.jpg differ diff --git a/client/public/images/sequence/252.jpg b/client/public/images/sequence/252.jpg index be60570..1a5dfd7 100644 Binary files a/client/public/images/sequence/252.jpg and b/client/public/images/sequence/252.jpg differ diff --git a/client/public/images/sequence/253.jpg b/client/public/images/sequence/253.jpg index c4aeb78..4903d5f 100644 Binary files a/client/public/images/sequence/253.jpg and b/client/public/images/sequence/253.jpg differ diff --git a/client/public/images/sequence/254.jpg b/client/public/images/sequence/254.jpg index c57debd..27fc7f7 100644 Binary files a/client/public/images/sequence/254.jpg and b/client/public/images/sequence/254.jpg differ diff --git a/client/public/images/sequence/255.jpg b/client/public/images/sequence/255.jpg index a53d2a6..1052e69 100644 Binary files a/client/public/images/sequence/255.jpg and b/client/public/images/sequence/255.jpg differ diff --git a/client/public/images/sequence/256.jpg b/client/public/images/sequence/256.jpg index 95dcdd6..698ef6e 100644 Binary files a/client/public/images/sequence/256.jpg and b/client/public/images/sequence/256.jpg differ diff --git a/client/public/images/sequence/257.jpg b/client/public/images/sequence/257.jpg index 40b37e5..bce6177 100644 Binary files a/client/public/images/sequence/257.jpg and b/client/public/images/sequence/257.jpg differ diff --git a/client/public/images/sequence/258.jpg b/client/public/images/sequence/258.jpg index a8bc547..4987a33 100644 Binary files a/client/public/images/sequence/258.jpg and b/client/public/images/sequence/258.jpg differ diff --git a/client/public/images/sequence/259.jpg b/client/public/images/sequence/259.jpg index ac1e1a6..b1af758 100644 Binary files a/client/public/images/sequence/259.jpg and b/client/public/images/sequence/259.jpg differ diff --git a/client/public/images/sequence/26.jpg b/client/public/images/sequence/26.jpg index 8628b63..541d76a 100644 Binary files a/client/public/images/sequence/26.jpg and b/client/public/images/sequence/26.jpg differ diff --git a/client/public/images/sequence/260.jpg b/client/public/images/sequence/260.jpg index 852a129..448cd5d 100644 Binary files a/client/public/images/sequence/260.jpg and b/client/public/images/sequence/260.jpg differ diff --git a/client/public/images/sequence/261.jpg b/client/public/images/sequence/261.jpg index ed60266..a41d456 100644 Binary files a/client/public/images/sequence/261.jpg and b/client/public/images/sequence/261.jpg differ diff --git a/client/public/images/sequence/262.jpg b/client/public/images/sequence/262.jpg index 44193b1..2bffbd9 100644 Binary files a/client/public/images/sequence/262.jpg and b/client/public/images/sequence/262.jpg differ diff --git a/client/public/images/sequence/263.jpg b/client/public/images/sequence/263.jpg index f61544a..65b4090 100644 Binary files a/client/public/images/sequence/263.jpg and b/client/public/images/sequence/263.jpg differ diff --git a/client/public/images/sequence/264.jpg b/client/public/images/sequence/264.jpg index 81e4c5f..63a8e42 100644 Binary files a/client/public/images/sequence/264.jpg and b/client/public/images/sequence/264.jpg differ diff --git a/client/public/images/sequence/265.jpg b/client/public/images/sequence/265.jpg index 6b5a941..701021e 100644 Binary files a/client/public/images/sequence/265.jpg and b/client/public/images/sequence/265.jpg differ diff --git a/client/public/images/sequence/266.jpg b/client/public/images/sequence/266.jpg index c4d8b32..041aef8 100644 Binary files a/client/public/images/sequence/266.jpg and b/client/public/images/sequence/266.jpg differ diff --git a/client/public/images/sequence/267.jpg b/client/public/images/sequence/267.jpg index ff364bb..c44c189 100644 Binary files a/client/public/images/sequence/267.jpg and b/client/public/images/sequence/267.jpg differ diff --git a/client/public/images/sequence/268.jpg b/client/public/images/sequence/268.jpg index 41c7bd1..9e34d30 100644 Binary files a/client/public/images/sequence/268.jpg and b/client/public/images/sequence/268.jpg differ diff --git a/client/public/images/sequence/269.jpg b/client/public/images/sequence/269.jpg index 9032034..8f18f95 100644 Binary files a/client/public/images/sequence/269.jpg and b/client/public/images/sequence/269.jpg differ diff --git a/client/public/images/sequence/27.jpg b/client/public/images/sequence/27.jpg index 5abf19a..1c2e9c8 100644 Binary files a/client/public/images/sequence/27.jpg and b/client/public/images/sequence/27.jpg differ diff --git a/client/public/images/sequence/270.jpg b/client/public/images/sequence/270.jpg index 5cdd676..4274140 100644 Binary files a/client/public/images/sequence/270.jpg and b/client/public/images/sequence/270.jpg differ diff --git a/client/public/images/sequence/271.jpg b/client/public/images/sequence/271.jpg index f9c4d75..7a4e716 100644 Binary files a/client/public/images/sequence/271.jpg and b/client/public/images/sequence/271.jpg differ diff --git a/client/public/images/sequence/272.jpg b/client/public/images/sequence/272.jpg index 8df375c..7ad1302 100644 Binary files a/client/public/images/sequence/272.jpg and b/client/public/images/sequence/272.jpg differ diff --git a/client/public/images/sequence/273.jpg b/client/public/images/sequence/273.jpg index caff863..43430d7 100644 Binary files a/client/public/images/sequence/273.jpg and b/client/public/images/sequence/273.jpg differ diff --git a/client/public/images/sequence/274.jpg b/client/public/images/sequence/274.jpg index 4f531d6..87b44aa 100644 Binary files a/client/public/images/sequence/274.jpg and b/client/public/images/sequence/274.jpg differ diff --git a/client/public/images/sequence/275.jpg b/client/public/images/sequence/275.jpg index 06564b4..0cf59a7 100644 Binary files a/client/public/images/sequence/275.jpg and b/client/public/images/sequence/275.jpg differ diff --git a/client/public/images/sequence/276.jpg b/client/public/images/sequence/276.jpg index 509202c..08f5f48 100644 Binary files a/client/public/images/sequence/276.jpg and b/client/public/images/sequence/276.jpg differ diff --git a/client/public/images/sequence/277.jpg b/client/public/images/sequence/277.jpg index e3205e8..12d5a60 100644 Binary files a/client/public/images/sequence/277.jpg and b/client/public/images/sequence/277.jpg differ diff --git a/client/public/images/sequence/278.jpg b/client/public/images/sequence/278.jpg index 7d7abe4..2e4a598 100644 Binary files a/client/public/images/sequence/278.jpg and b/client/public/images/sequence/278.jpg differ diff --git a/client/public/images/sequence/279.jpg b/client/public/images/sequence/279.jpg index c5e7ded..15ae73e 100644 Binary files a/client/public/images/sequence/279.jpg and b/client/public/images/sequence/279.jpg differ diff --git a/client/public/images/sequence/28.jpg b/client/public/images/sequence/28.jpg index b6fbecd..547af70 100644 Binary files a/client/public/images/sequence/28.jpg and b/client/public/images/sequence/28.jpg differ diff --git a/client/public/images/sequence/280.jpg b/client/public/images/sequence/280.jpg index 267337a..675754e 100644 Binary files a/client/public/images/sequence/280.jpg and b/client/public/images/sequence/280.jpg differ diff --git a/client/public/images/sequence/281.jpg b/client/public/images/sequence/281.jpg index fc4a883..136faba 100644 Binary files a/client/public/images/sequence/281.jpg and b/client/public/images/sequence/281.jpg differ diff --git a/client/public/images/sequence/282.jpg b/client/public/images/sequence/282.jpg index b2242d8..06fa4e2 100644 Binary files a/client/public/images/sequence/282.jpg and b/client/public/images/sequence/282.jpg differ diff --git a/client/public/images/sequence/283.jpg b/client/public/images/sequence/283.jpg index e854b4d..cef0f4e 100644 Binary files a/client/public/images/sequence/283.jpg and b/client/public/images/sequence/283.jpg differ diff --git a/client/public/images/sequence/284.jpg b/client/public/images/sequence/284.jpg index 0001d21..051348c 100644 Binary files a/client/public/images/sequence/284.jpg and b/client/public/images/sequence/284.jpg differ diff --git a/client/public/images/sequence/285.jpg b/client/public/images/sequence/285.jpg index 34f7e93..4ab5acc 100644 Binary files a/client/public/images/sequence/285.jpg and b/client/public/images/sequence/285.jpg differ diff --git a/client/public/images/sequence/286.jpg b/client/public/images/sequence/286.jpg index b3ba3b9..6dfdefc 100644 Binary files a/client/public/images/sequence/286.jpg and b/client/public/images/sequence/286.jpg differ diff --git a/client/public/images/sequence/287.jpg b/client/public/images/sequence/287.jpg index 76d8e23..6d526b8 100644 Binary files a/client/public/images/sequence/287.jpg and b/client/public/images/sequence/287.jpg differ diff --git a/client/public/images/sequence/288.jpg b/client/public/images/sequence/288.jpg index 8237f91..c04e827 100644 Binary files a/client/public/images/sequence/288.jpg and b/client/public/images/sequence/288.jpg differ diff --git a/client/public/images/sequence/289.jpg b/client/public/images/sequence/289.jpg index 96df64b..611827e 100644 Binary files a/client/public/images/sequence/289.jpg and b/client/public/images/sequence/289.jpg differ diff --git a/client/public/images/sequence/29.jpg b/client/public/images/sequence/29.jpg index 28b129e..41847fe 100644 Binary files a/client/public/images/sequence/29.jpg and b/client/public/images/sequence/29.jpg differ diff --git a/client/public/images/sequence/290.jpg b/client/public/images/sequence/290.jpg index 900418c..2355531 100644 Binary files a/client/public/images/sequence/290.jpg and b/client/public/images/sequence/290.jpg differ diff --git a/client/public/images/sequence/291.jpg b/client/public/images/sequence/291.jpg index 13fde16..daf5d9c 100644 Binary files a/client/public/images/sequence/291.jpg and b/client/public/images/sequence/291.jpg differ diff --git a/client/public/images/sequence/292.jpg b/client/public/images/sequence/292.jpg index 8f92ad8..bc4c86b 100644 Binary files a/client/public/images/sequence/292.jpg and b/client/public/images/sequence/292.jpg differ diff --git a/client/public/images/sequence/293.jpg b/client/public/images/sequence/293.jpg index 64bfc0b..2c034e2 100644 Binary files a/client/public/images/sequence/293.jpg and b/client/public/images/sequence/293.jpg differ diff --git a/client/public/images/sequence/294.jpg b/client/public/images/sequence/294.jpg index b70efe4..0831776 100644 Binary files a/client/public/images/sequence/294.jpg and b/client/public/images/sequence/294.jpg differ diff --git a/client/public/images/sequence/295.jpg b/client/public/images/sequence/295.jpg index a45a237..c9d16ed 100644 Binary files a/client/public/images/sequence/295.jpg and b/client/public/images/sequence/295.jpg differ diff --git a/client/public/images/sequence/296.jpg b/client/public/images/sequence/296.jpg index 04813fa..5247adb 100644 Binary files a/client/public/images/sequence/296.jpg and b/client/public/images/sequence/296.jpg differ diff --git a/client/public/images/sequence/297.jpg b/client/public/images/sequence/297.jpg index f007461..83c8b28 100644 Binary files a/client/public/images/sequence/297.jpg and b/client/public/images/sequence/297.jpg differ diff --git a/client/public/images/sequence/298.jpg b/client/public/images/sequence/298.jpg index 14ade27..42caaa0 100644 Binary files a/client/public/images/sequence/298.jpg and b/client/public/images/sequence/298.jpg differ diff --git a/client/public/images/sequence/299.jpg b/client/public/images/sequence/299.jpg index de6b481..6c66ee8 100644 Binary files a/client/public/images/sequence/299.jpg and b/client/public/images/sequence/299.jpg differ diff --git a/client/public/images/sequence/3.jpg b/client/public/images/sequence/3.jpg index b7a9c3a..8cb38fd 100644 Binary files a/client/public/images/sequence/3.jpg and b/client/public/images/sequence/3.jpg differ diff --git a/client/public/images/sequence/30.jpg b/client/public/images/sequence/30.jpg index 5bcd821..53e194b 100644 Binary files a/client/public/images/sequence/30.jpg and b/client/public/images/sequence/30.jpg differ diff --git a/client/public/images/sequence/300.jpg b/client/public/images/sequence/300.jpg index 6d9c769..f37a531 100644 Binary files a/client/public/images/sequence/300.jpg and b/client/public/images/sequence/300.jpg differ diff --git a/client/public/images/sequence/301.jpg b/client/public/images/sequence/301.jpg index a963b02..d84ae74 100644 Binary files a/client/public/images/sequence/301.jpg and b/client/public/images/sequence/301.jpg differ diff --git a/client/public/images/sequence/302.jpg b/client/public/images/sequence/302.jpg index fb88721..780290c 100644 Binary files a/client/public/images/sequence/302.jpg and b/client/public/images/sequence/302.jpg differ diff --git a/client/public/images/sequence/303.jpg b/client/public/images/sequence/303.jpg index 1696eab..5d9250d 100644 Binary files a/client/public/images/sequence/303.jpg and b/client/public/images/sequence/303.jpg differ diff --git a/client/public/images/sequence/304.jpg b/client/public/images/sequence/304.jpg index df792d4..2349306 100644 Binary files a/client/public/images/sequence/304.jpg and b/client/public/images/sequence/304.jpg differ diff --git a/client/public/images/sequence/305.jpg b/client/public/images/sequence/305.jpg index 89e5397..41f4e71 100644 Binary files a/client/public/images/sequence/305.jpg and b/client/public/images/sequence/305.jpg differ diff --git a/client/public/images/sequence/306.jpg b/client/public/images/sequence/306.jpg index b0a4702..0608d74 100644 Binary files a/client/public/images/sequence/306.jpg and b/client/public/images/sequence/306.jpg differ diff --git a/client/public/images/sequence/307.jpg b/client/public/images/sequence/307.jpg index fddc63b..90834ca 100644 Binary files a/client/public/images/sequence/307.jpg and b/client/public/images/sequence/307.jpg differ diff --git a/client/public/images/sequence/308.jpg b/client/public/images/sequence/308.jpg index 689d893..cd885bf 100644 Binary files a/client/public/images/sequence/308.jpg and b/client/public/images/sequence/308.jpg differ diff --git a/client/public/images/sequence/309.jpg b/client/public/images/sequence/309.jpg index fba93d6..b176c65 100644 Binary files a/client/public/images/sequence/309.jpg and b/client/public/images/sequence/309.jpg differ diff --git a/client/public/images/sequence/31.jpg b/client/public/images/sequence/31.jpg index 833a852..4e31d33 100644 Binary files a/client/public/images/sequence/31.jpg and b/client/public/images/sequence/31.jpg differ diff --git a/client/public/images/sequence/310.jpg b/client/public/images/sequence/310.jpg index e0f63df..4a1003c 100644 Binary files a/client/public/images/sequence/310.jpg and b/client/public/images/sequence/310.jpg differ diff --git a/client/public/images/sequence/311.jpg b/client/public/images/sequence/311.jpg index 56558a9..b1eda87 100644 Binary files a/client/public/images/sequence/311.jpg and b/client/public/images/sequence/311.jpg differ diff --git a/client/public/images/sequence/312.jpg b/client/public/images/sequence/312.jpg index 6cea46f..7d0c18e 100644 Binary files a/client/public/images/sequence/312.jpg and b/client/public/images/sequence/312.jpg differ diff --git a/client/public/images/sequence/313.jpg b/client/public/images/sequence/313.jpg index 6d741f1..9891c81 100644 Binary files a/client/public/images/sequence/313.jpg and b/client/public/images/sequence/313.jpg differ diff --git a/client/public/images/sequence/314.jpg b/client/public/images/sequence/314.jpg index a01ea37..78efdae 100644 Binary files a/client/public/images/sequence/314.jpg and b/client/public/images/sequence/314.jpg differ diff --git a/client/public/images/sequence/315.jpg b/client/public/images/sequence/315.jpg index 90afdc5..0576aa2 100644 Binary files a/client/public/images/sequence/315.jpg and b/client/public/images/sequence/315.jpg differ diff --git a/client/public/images/sequence/316.jpg b/client/public/images/sequence/316.jpg index cf422a3..2c73355 100644 Binary files a/client/public/images/sequence/316.jpg and b/client/public/images/sequence/316.jpg differ diff --git a/client/public/images/sequence/317.jpg b/client/public/images/sequence/317.jpg index df28374..1d84543 100644 Binary files a/client/public/images/sequence/317.jpg and b/client/public/images/sequence/317.jpg differ diff --git a/client/public/images/sequence/318.jpg b/client/public/images/sequence/318.jpg index b1a59d6..3edf264 100644 Binary files a/client/public/images/sequence/318.jpg and b/client/public/images/sequence/318.jpg differ diff --git a/client/public/images/sequence/319.jpg b/client/public/images/sequence/319.jpg index 18d49f7..f291a2a 100644 Binary files a/client/public/images/sequence/319.jpg and b/client/public/images/sequence/319.jpg differ diff --git a/client/public/images/sequence/32.jpg b/client/public/images/sequence/32.jpg index 139def0..38426eb 100644 Binary files a/client/public/images/sequence/32.jpg and b/client/public/images/sequence/32.jpg differ diff --git a/client/public/images/sequence/320.jpg b/client/public/images/sequence/320.jpg index 469e918..ace2ed5 100644 Binary files a/client/public/images/sequence/320.jpg and b/client/public/images/sequence/320.jpg differ diff --git a/client/public/images/sequence/321.jpg b/client/public/images/sequence/321.jpg index 6fd54fb..db2e1fe 100644 Binary files a/client/public/images/sequence/321.jpg and b/client/public/images/sequence/321.jpg differ diff --git a/client/public/images/sequence/322.jpg b/client/public/images/sequence/322.jpg index 9e1503a..8d28f09 100644 Binary files a/client/public/images/sequence/322.jpg and b/client/public/images/sequence/322.jpg differ diff --git a/client/public/images/sequence/323.jpg b/client/public/images/sequence/323.jpg index bd66b4d..c65e0d5 100644 Binary files a/client/public/images/sequence/323.jpg and b/client/public/images/sequence/323.jpg differ diff --git a/client/public/images/sequence/324.jpg b/client/public/images/sequence/324.jpg index 704bc60..b4bb429 100644 Binary files a/client/public/images/sequence/324.jpg and b/client/public/images/sequence/324.jpg differ diff --git a/client/public/images/sequence/325.jpg b/client/public/images/sequence/325.jpg index c43f8b0..2240c36 100644 Binary files a/client/public/images/sequence/325.jpg and b/client/public/images/sequence/325.jpg differ diff --git a/client/public/images/sequence/326.jpg b/client/public/images/sequence/326.jpg index 6b82418..815de28 100644 Binary files a/client/public/images/sequence/326.jpg and b/client/public/images/sequence/326.jpg differ diff --git a/client/public/images/sequence/327.jpg b/client/public/images/sequence/327.jpg index fdd6ca0..653b2d4 100644 Binary files a/client/public/images/sequence/327.jpg and b/client/public/images/sequence/327.jpg differ diff --git a/client/public/images/sequence/328.jpg b/client/public/images/sequence/328.jpg index 93cadc8..029ea3d 100644 Binary files a/client/public/images/sequence/328.jpg and b/client/public/images/sequence/328.jpg differ diff --git a/client/public/images/sequence/329.jpg b/client/public/images/sequence/329.jpg index d7d5345..00b6b04 100644 Binary files a/client/public/images/sequence/329.jpg and b/client/public/images/sequence/329.jpg differ diff --git a/client/public/images/sequence/33.jpg b/client/public/images/sequence/33.jpg index 249644d..08696b2 100644 Binary files a/client/public/images/sequence/33.jpg and b/client/public/images/sequence/33.jpg differ diff --git a/client/public/images/sequence/330.jpg b/client/public/images/sequence/330.jpg index 9e4618f..81ba256 100644 Binary files a/client/public/images/sequence/330.jpg and b/client/public/images/sequence/330.jpg differ diff --git a/client/public/images/sequence/331.jpg b/client/public/images/sequence/331.jpg index 6d74631..0278563 100644 Binary files a/client/public/images/sequence/331.jpg and b/client/public/images/sequence/331.jpg differ diff --git a/client/public/images/sequence/332.jpg b/client/public/images/sequence/332.jpg index d64a258..caa3ab4 100644 Binary files a/client/public/images/sequence/332.jpg and b/client/public/images/sequence/332.jpg differ diff --git a/client/public/images/sequence/333.jpg b/client/public/images/sequence/333.jpg index 4d65ae5..88926e2 100644 Binary files a/client/public/images/sequence/333.jpg and b/client/public/images/sequence/333.jpg differ diff --git a/client/public/images/sequence/334.jpg b/client/public/images/sequence/334.jpg index 67bb3b7..303f16e 100644 Binary files a/client/public/images/sequence/334.jpg and b/client/public/images/sequence/334.jpg differ diff --git a/client/public/images/sequence/335.jpg b/client/public/images/sequence/335.jpg index 13dfc80..2fb569c 100644 Binary files a/client/public/images/sequence/335.jpg and b/client/public/images/sequence/335.jpg differ diff --git a/client/public/images/sequence/336.jpg b/client/public/images/sequence/336.jpg index 8b77456..186d26e 100644 Binary files a/client/public/images/sequence/336.jpg and b/client/public/images/sequence/336.jpg differ diff --git a/client/public/images/sequence/337.jpg b/client/public/images/sequence/337.jpg index 2c91f4b..f65c757 100644 Binary files a/client/public/images/sequence/337.jpg and b/client/public/images/sequence/337.jpg differ diff --git a/client/public/images/sequence/338.jpg b/client/public/images/sequence/338.jpg index 7f26a63..76a422e 100644 Binary files a/client/public/images/sequence/338.jpg and b/client/public/images/sequence/338.jpg differ diff --git a/client/public/images/sequence/339.jpg b/client/public/images/sequence/339.jpg index 697ad8f..912187e 100644 Binary files a/client/public/images/sequence/339.jpg and b/client/public/images/sequence/339.jpg differ diff --git a/client/public/images/sequence/34.jpg b/client/public/images/sequence/34.jpg index 4b35a16..c92c4f5 100644 Binary files a/client/public/images/sequence/34.jpg and b/client/public/images/sequence/34.jpg differ diff --git a/client/public/images/sequence/340.jpg b/client/public/images/sequence/340.jpg index 8dc5e0d..ab5788d 100644 Binary files a/client/public/images/sequence/340.jpg and b/client/public/images/sequence/340.jpg differ diff --git a/client/public/images/sequence/341.jpg b/client/public/images/sequence/341.jpg index 90c0a83..10574de 100644 Binary files a/client/public/images/sequence/341.jpg and b/client/public/images/sequence/341.jpg differ diff --git a/client/public/images/sequence/342.jpg b/client/public/images/sequence/342.jpg index f1ef30e..90a1ba8 100644 Binary files a/client/public/images/sequence/342.jpg and b/client/public/images/sequence/342.jpg differ diff --git a/client/public/images/sequence/343.jpg b/client/public/images/sequence/343.jpg index b8ca150..3bfc969 100644 Binary files a/client/public/images/sequence/343.jpg and b/client/public/images/sequence/343.jpg differ diff --git a/client/public/images/sequence/344.jpg b/client/public/images/sequence/344.jpg index 6c74baf..8be0b41 100644 Binary files a/client/public/images/sequence/344.jpg and b/client/public/images/sequence/344.jpg differ diff --git a/client/public/images/sequence/345.jpg b/client/public/images/sequence/345.jpg index cde9b87..ff2cdca 100644 Binary files a/client/public/images/sequence/345.jpg and b/client/public/images/sequence/345.jpg differ diff --git a/client/public/images/sequence/346.jpg b/client/public/images/sequence/346.jpg index 9342e60..24591bc 100644 Binary files a/client/public/images/sequence/346.jpg and b/client/public/images/sequence/346.jpg differ diff --git a/client/public/images/sequence/347.jpg b/client/public/images/sequence/347.jpg index ffe572c..fc070e0 100644 Binary files a/client/public/images/sequence/347.jpg and b/client/public/images/sequence/347.jpg differ diff --git a/client/public/images/sequence/348.jpg b/client/public/images/sequence/348.jpg index b87b544..8170ed8 100644 Binary files a/client/public/images/sequence/348.jpg and b/client/public/images/sequence/348.jpg differ diff --git a/client/public/images/sequence/349.jpg b/client/public/images/sequence/349.jpg index 7815166..b473c21 100644 Binary files a/client/public/images/sequence/349.jpg and b/client/public/images/sequence/349.jpg differ diff --git a/client/public/images/sequence/35.jpg b/client/public/images/sequence/35.jpg index 2156f1f..792cf3f 100644 Binary files a/client/public/images/sequence/35.jpg and b/client/public/images/sequence/35.jpg differ diff --git a/client/public/images/sequence/350.jpg b/client/public/images/sequence/350.jpg index f0323b6..f35d3a5 100644 Binary files a/client/public/images/sequence/350.jpg and b/client/public/images/sequence/350.jpg differ diff --git a/client/public/images/sequence/351.jpg b/client/public/images/sequence/351.jpg index ee5ebb0..669cd18 100644 Binary files a/client/public/images/sequence/351.jpg and b/client/public/images/sequence/351.jpg differ diff --git a/client/public/images/sequence/352.jpg b/client/public/images/sequence/352.jpg index 02355f4..43bb309 100644 Binary files a/client/public/images/sequence/352.jpg and b/client/public/images/sequence/352.jpg differ diff --git a/client/public/images/sequence/353.jpg b/client/public/images/sequence/353.jpg index efa26e2..707e663 100644 Binary files a/client/public/images/sequence/353.jpg and b/client/public/images/sequence/353.jpg differ diff --git a/client/public/images/sequence/354.jpg b/client/public/images/sequence/354.jpg index 5a7d8c5..cb52710 100644 Binary files a/client/public/images/sequence/354.jpg and b/client/public/images/sequence/354.jpg differ diff --git a/client/public/images/sequence/355.jpg b/client/public/images/sequence/355.jpg index 5305554..86c07ff 100644 Binary files a/client/public/images/sequence/355.jpg and b/client/public/images/sequence/355.jpg differ diff --git a/client/public/images/sequence/356.jpg b/client/public/images/sequence/356.jpg index e8c392f..cd012d0 100644 Binary files a/client/public/images/sequence/356.jpg and b/client/public/images/sequence/356.jpg differ diff --git a/client/public/images/sequence/357.jpg b/client/public/images/sequence/357.jpg index cc5c925..0653e08 100644 Binary files a/client/public/images/sequence/357.jpg and b/client/public/images/sequence/357.jpg differ diff --git a/client/public/images/sequence/358.jpg b/client/public/images/sequence/358.jpg index 94e4413..26f21bc 100644 Binary files a/client/public/images/sequence/358.jpg and b/client/public/images/sequence/358.jpg differ diff --git a/client/public/images/sequence/359.jpg b/client/public/images/sequence/359.jpg index 2a0eff7..395c5b4 100644 Binary files a/client/public/images/sequence/359.jpg and b/client/public/images/sequence/359.jpg differ diff --git a/client/public/images/sequence/36.jpg b/client/public/images/sequence/36.jpg index 50d121e..1806814 100644 Binary files a/client/public/images/sequence/36.jpg and b/client/public/images/sequence/36.jpg differ diff --git a/client/public/images/sequence/360.jpg b/client/public/images/sequence/360.jpg index d44ba62..37fe1f7 100644 Binary files a/client/public/images/sequence/360.jpg and b/client/public/images/sequence/360.jpg differ diff --git a/client/public/images/sequence/37.jpg b/client/public/images/sequence/37.jpg index 098fafa..d669537 100644 Binary files a/client/public/images/sequence/37.jpg and b/client/public/images/sequence/37.jpg differ diff --git a/client/public/images/sequence/38.jpg b/client/public/images/sequence/38.jpg index 00f30fc..3aa778e 100644 Binary files a/client/public/images/sequence/38.jpg and b/client/public/images/sequence/38.jpg differ diff --git a/client/public/images/sequence/39.jpg b/client/public/images/sequence/39.jpg index 1c2eed8..78e3eac 100644 Binary files a/client/public/images/sequence/39.jpg and b/client/public/images/sequence/39.jpg differ diff --git a/client/public/images/sequence/4.jpg b/client/public/images/sequence/4.jpg index 0391ba7..37612cf 100644 Binary files a/client/public/images/sequence/4.jpg and b/client/public/images/sequence/4.jpg differ diff --git a/client/public/images/sequence/40.jpg b/client/public/images/sequence/40.jpg index ee94fba..9120c9a 100644 Binary files a/client/public/images/sequence/40.jpg and b/client/public/images/sequence/40.jpg differ diff --git a/client/public/images/sequence/41.jpg b/client/public/images/sequence/41.jpg index 67c1bfc..f753262 100644 Binary files a/client/public/images/sequence/41.jpg and b/client/public/images/sequence/41.jpg differ diff --git a/client/public/images/sequence/42.jpg b/client/public/images/sequence/42.jpg index 212a4b4..feec558 100644 Binary files a/client/public/images/sequence/42.jpg and b/client/public/images/sequence/42.jpg differ diff --git a/client/public/images/sequence/43.jpg b/client/public/images/sequence/43.jpg index f665726..590c669 100644 Binary files a/client/public/images/sequence/43.jpg and b/client/public/images/sequence/43.jpg differ diff --git a/client/public/images/sequence/44.jpg b/client/public/images/sequence/44.jpg index 0e746d4..a912231 100644 Binary files a/client/public/images/sequence/44.jpg and b/client/public/images/sequence/44.jpg differ diff --git a/client/public/images/sequence/45.jpg b/client/public/images/sequence/45.jpg index ee5feb2..fdaa954 100644 Binary files a/client/public/images/sequence/45.jpg and b/client/public/images/sequence/45.jpg differ diff --git a/client/public/images/sequence/46.jpg b/client/public/images/sequence/46.jpg index 4f49e11..182cf5f 100644 Binary files a/client/public/images/sequence/46.jpg and b/client/public/images/sequence/46.jpg differ diff --git a/client/public/images/sequence/47.jpg b/client/public/images/sequence/47.jpg index 279a7f5..da48c52 100644 Binary files a/client/public/images/sequence/47.jpg and b/client/public/images/sequence/47.jpg differ diff --git a/client/public/images/sequence/48.jpg b/client/public/images/sequence/48.jpg index 9353c1d..3e6d48d 100644 Binary files a/client/public/images/sequence/48.jpg and b/client/public/images/sequence/48.jpg differ diff --git a/client/public/images/sequence/49.jpg b/client/public/images/sequence/49.jpg index 129d117..130d08d 100644 Binary files a/client/public/images/sequence/49.jpg and b/client/public/images/sequence/49.jpg differ diff --git a/client/public/images/sequence/5.jpg b/client/public/images/sequence/5.jpg index a8461e2..ca0bc22 100644 Binary files a/client/public/images/sequence/5.jpg and b/client/public/images/sequence/5.jpg differ diff --git a/client/public/images/sequence/50.jpg b/client/public/images/sequence/50.jpg index 3524f93..906b576 100644 Binary files a/client/public/images/sequence/50.jpg and b/client/public/images/sequence/50.jpg differ diff --git a/client/public/images/sequence/51.jpg b/client/public/images/sequence/51.jpg index f79307b..98db1ca 100644 Binary files a/client/public/images/sequence/51.jpg and b/client/public/images/sequence/51.jpg differ diff --git a/client/public/images/sequence/52.jpg b/client/public/images/sequence/52.jpg index 58efc6e..5b42c03 100644 Binary files a/client/public/images/sequence/52.jpg and b/client/public/images/sequence/52.jpg differ diff --git a/client/public/images/sequence/53.jpg b/client/public/images/sequence/53.jpg index bcb634a..975e722 100644 Binary files a/client/public/images/sequence/53.jpg and b/client/public/images/sequence/53.jpg differ diff --git a/client/public/images/sequence/54.jpg b/client/public/images/sequence/54.jpg index f6d8c1b..eff21e6 100644 Binary files a/client/public/images/sequence/54.jpg and b/client/public/images/sequence/54.jpg differ diff --git a/client/public/images/sequence/55.jpg b/client/public/images/sequence/55.jpg index 886a2ad..c30f6f7 100644 Binary files a/client/public/images/sequence/55.jpg and b/client/public/images/sequence/55.jpg differ diff --git a/client/public/images/sequence/56.jpg b/client/public/images/sequence/56.jpg index 26ee478..a7414dc 100644 Binary files a/client/public/images/sequence/56.jpg and b/client/public/images/sequence/56.jpg differ diff --git a/client/public/images/sequence/57.jpg b/client/public/images/sequence/57.jpg index 7cb3b8a..cf7119e 100644 Binary files a/client/public/images/sequence/57.jpg and b/client/public/images/sequence/57.jpg differ diff --git a/client/public/images/sequence/58.jpg b/client/public/images/sequence/58.jpg index f88acb5..783bf53 100644 Binary files a/client/public/images/sequence/58.jpg and b/client/public/images/sequence/58.jpg differ diff --git a/client/public/images/sequence/59.jpg b/client/public/images/sequence/59.jpg index 705a023..2f1dde3 100644 Binary files a/client/public/images/sequence/59.jpg and b/client/public/images/sequence/59.jpg differ diff --git a/client/public/images/sequence/6.jpg b/client/public/images/sequence/6.jpg index d3d45bd..12d8649 100644 Binary files a/client/public/images/sequence/6.jpg and b/client/public/images/sequence/6.jpg differ diff --git a/client/public/images/sequence/60.jpg b/client/public/images/sequence/60.jpg index 3ed6652..b7f4742 100644 Binary files a/client/public/images/sequence/60.jpg and b/client/public/images/sequence/60.jpg differ diff --git a/client/public/images/sequence/61.jpg b/client/public/images/sequence/61.jpg index b28aec3..a565043 100644 Binary files a/client/public/images/sequence/61.jpg and b/client/public/images/sequence/61.jpg differ diff --git a/client/public/images/sequence/62.jpg b/client/public/images/sequence/62.jpg index cc47dc7..6601a3e 100644 Binary files a/client/public/images/sequence/62.jpg and b/client/public/images/sequence/62.jpg differ diff --git a/client/public/images/sequence/63.jpg b/client/public/images/sequence/63.jpg index 8346cf0..cc7976d 100644 Binary files a/client/public/images/sequence/63.jpg and b/client/public/images/sequence/63.jpg differ diff --git a/client/public/images/sequence/64.jpg b/client/public/images/sequence/64.jpg index 0273e0d..181c9ed 100644 Binary files a/client/public/images/sequence/64.jpg and b/client/public/images/sequence/64.jpg differ diff --git a/client/public/images/sequence/65.jpg b/client/public/images/sequence/65.jpg index ce3d4f9..8df7a59 100644 Binary files a/client/public/images/sequence/65.jpg and b/client/public/images/sequence/65.jpg differ diff --git a/client/public/images/sequence/66.jpg b/client/public/images/sequence/66.jpg index de9f796..d1794e5 100644 Binary files a/client/public/images/sequence/66.jpg and b/client/public/images/sequence/66.jpg differ diff --git a/client/public/images/sequence/67.jpg b/client/public/images/sequence/67.jpg index cc9447c..913c633 100644 Binary files a/client/public/images/sequence/67.jpg and b/client/public/images/sequence/67.jpg differ diff --git a/client/public/images/sequence/68.jpg b/client/public/images/sequence/68.jpg index 21423b4..5cd2e94 100644 Binary files a/client/public/images/sequence/68.jpg and b/client/public/images/sequence/68.jpg differ diff --git a/client/public/images/sequence/69.jpg b/client/public/images/sequence/69.jpg index c80081a..1d57c90 100644 Binary files a/client/public/images/sequence/69.jpg and b/client/public/images/sequence/69.jpg differ diff --git a/client/public/images/sequence/7.jpg b/client/public/images/sequence/7.jpg index 4a5bfce..d5c1e98 100644 Binary files a/client/public/images/sequence/7.jpg and b/client/public/images/sequence/7.jpg differ diff --git a/client/public/images/sequence/70.jpg b/client/public/images/sequence/70.jpg index 4bf3328..891589a 100644 Binary files a/client/public/images/sequence/70.jpg and b/client/public/images/sequence/70.jpg differ diff --git a/client/public/images/sequence/71.jpg b/client/public/images/sequence/71.jpg index 61dbfed..0359535 100644 Binary files a/client/public/images/sequence/71.jpg and b/client/public/images/sequence/71.jpg differ diff --git a/client/public/images/sequence/72.jpg b/client/public/images/sequence/72.jpg index c9ee5be..f9559a2 100644 Binary files a/client/public/images/sequence/72.jpg and b/client/public/images/sequence/72.jpg differ diff --git a/client/public/images/sequence/73.jpg b/client/public/images/sequence/73.jpg index f260f80..010fcc2 100644 Binary files a/client/public/images/sequence/73.jpg and b/client/public/images/sequence/73.jpg differ diff --git a/client/public/images/sequence/74.jpg b/client/public/images/sequence/74.jpg index 776d70e..7f17999 100644 Binary files a/client/public/images/sequence/74.jpg and b/client/public/images/sequence/74.jpg differ diff --git a/client/public/images/sequence/75.jpg b/client/public/images/sequence/75.jpg index 8468e81..b99d5aa 100644 Binary files a/client/public/images/sequence/75.jpg and b/client/public/images/sequence/75.jpg differ diff --git a/client/public/images/sequence/76.jpg b/client/public/images/sequence/76.jpg index ed77a27..d341172 100644 Binary files a/client/public/images/sequence/76.jpg and b/client/public/images/sequence/76.jpg differ diff --git a/client/public/images/sequence/77.jpg b/client/public/images/sequence/77.jpg index 748d37b..96898ac 100644 Binary files a/client/public/images/sequence/77.jpg and b/client/public/images/sequence/77.jpg differ diff --git a/client/public/images/sequence/78.jpg b/client/public/images/sequence/78.jpg index 47debbb..b22f8cb 100644 Binary files a/client/public/images/sequence/78.jpg and b/client/public/images/sequence/78.jpg differ diff --git a/client/public/images/sequence/79.jpg b/client/public/images/sequence/79.jpg index 8111bc1..5f17431 100644 Binary files a/client/public/images/sequence/79.jpg and b/client/public/images/sequence/79.jpg differ diff --git a/client/public/images/sequence/8.jpg b/client/public/images/sequence/8.jpg index 28d5558..8bed505 100644 Binary files a/client/public/images/sequence/8.jpg and b/client/public/images/sequence/8.jpg differ diff --git a/client/public/images/sequence/80.jpg b/client/public/images/sequence/80.jpg index fbed29b..9d1c01c 100644 Binary files a/client/public/images/sequence/80.jpg and b/client/public/images/sequence/80.jpg differ diff --git a/client/public/images/sequence/81.jpg b/client/public/images/sequence/81.jpg index 1627561..a5c4641 100644 Binary files a/client/public/images/sequence/81.jpg and b/client/public/images/sequence/81.jpg differ diff --git a/client/public/images/sequence/82.jpg b/client/public/images/sequence/82.jpg index 4c70f14..ed5c152 100644 Binary files a/client/public/images/sequence/82.jpg and b/client/public/images/sequence/82.jpg differ diff --git a/client/public/images/sequence/83.jpg b/client/public/images/sequence/83.jpg index 18314fd..e0f4f49 100644 Binary files a/client/public/images/sequence/83.jpg and b/client/public/images/sequence/83.jpg differ diff --git a/client/public/images/sequence/84.jpg b/client/public/images/sequence/84.jpg index 17b8574..7c45639 100644 Binary files a/client/public/images/sequence/84.jpg and b/client/public/images/sequence/84.jpg differ diff --git a/client/public/images/sequence/85.jpg b/client/public/images/sequence/85.jpg index 2c67630..7e79197 100644 Binary files a/client/public/images/sequence/85.jpg and b/client/public/images/sequence/85.jpg differ diff --git a/client/public/images/sequence/86.jpg b/client/public/images/sequence/86.jpg index 805bdd3..9212257 100644 Binary files a/client/public/images/sequence/86.jpg and b/client/public/images/sequence/86.jpg differ diff --git a/client/public/images/sequence/87.jpg b/client/public/images/sequence/87.jpg index 0d04118..4b0b51b 100644 Binary files a/client/public/images/sequence/87.jpg and b/client/public/images/sequence/87.jpg differ diff --git a/client/public/images/sequence/88.jpg b/client/public/images/sequence/88.jpg index 86ee566..da28f4e 100644 Binary files a/client/public/images/sequence/88.jpg and b/client/public/images/sequence/88.jpg differ diff --git a/client/public/images/sequence/89.jpg b/client/public/images/sequence/89.jpg index ecf86aa..5eb7165 100644 Binary files a/client/public/images/sequence/89.jpg and b/client/public/images/sequence/89.jpg differ diff --git a/client/public/images/sequence/9.jpg b/client/public/images/sequence/9.jpg index 109a53c..cbc48ea 100644 Binary files a/client/public/images/sequence/9.jpg and b/client/public/images/sequence/9.jpg differ diff --git a/client/public/images/sequence/90.jpg b/client/public/images/sequence/90.jpg index 0eac9ba..e75deb8 100644 Binary files a/client/public/images/sequence/90.jpg and b/client/public/images/sequence/90.jpg differ diff --git a/client/public/images/sequence/91.jpg b/client/public/images/sequence/91.jpg index ed9675e..a682c28 100644 Binary files a/client/public/images/sequence/91.jpg and b/client/public/images/sequence/91.jpg differ diff --git a/client/public/images/sequence/92.jpg b/client/public/images/sequence/92.jpg index 3ecd33f..d0ef008 100644 Binary files a/client/public/images/sequence/92.jpg and b/client/public/images/sequence/92.jpg differ diff --git a/client/public/images/sequence/93.jpg b/client/public/images/sequence/93.jpg index 5ade799..e713cd1 100644 Binary files a/client/public/images/sequence/93.jpg and b/client/public/images/sequence/93.jpg differ diff --git a/client/public/images/sequence/94.jpg b/client/public/images/sequence/94.jpg index 1d02030..374d2c9 100644 Binary files a/client/public/images/sequence/94.jpg and b/client/public/images/sequence/94.jpg differ diff --git a/client/public/images/sequence/95.jpg b/client/public/images/sequence/95.jpg index c49c5c5..fc72f0e 100644 Binary files a/client/public/images/sequence/95.jpg and b/client/public/images/sequence/95.jpg differ diff --git a/client/public/images/sequence/96.jpg b/client/public/images/sequence/96.jpg index cb5e7e2..3da36f4 100644 Binary files a/client/public/images/sequence/96.jpg and b/client/public/images/sequence/96.jpg differ diff --git a/client/public/images/sequence/97.jpg b/client/public/images/sequence/97.jpg index c853d1b..fdadea0 100644 Binary files a/client/public/images/sequence/97.jpg and b/client/public/images/sequence/97.jpg differ diff --git a/client/public/images/sequence/98.jpg b/client/public/images/sequence/98.jpg index c396f68..3d2a240 100644 Binary files a/client/public/images/sequence/98.jpg and b/client/public/images/sequence/98.jpg differ diff --git a/client/public/images/sequence/99.jpg b/client/public/images/sequence/99.jpg index 607bf66..34f4cb8 100644 Binary files a/client/public/images/sequence/99.jpg and b/client/public/images/sequence/99.jpg differ diff --git a/client/public/images/sequenceSliderMobile/1.jpg b/client/public/images/sequenceSliderMobile/1.jpg new file mode 100644 index 0000000..488adee Binary files /dev/null and b/client/public/images/sequenceSliderMobile/1.jpg differ diff --git a/client/public/images/sequenceSliderMobile/2.jpg b/client/public/images/sequenceSliderMobile/2.jpg new file mode 100644 index 0000000..89d31ec Binary files /dev/null and b/client/public/images/sequenceSliderMobile/2.jpg differ diff --git a/client/public/images/sequenceSliderMobile/3.jpg b/client/public/images/sequenceSliderMobile/3.jpg new file mode 100644 index 0000000..f84c4a2 Binary files /dev/null and b/client/public/images/sequenceSliderMobile/3.jpg differ diff --git a/client/public/images/sequenceSliderMobile/4.jpg b/client/public/images/sequenceSliderMobile/4.jpg new file mode 100644 index 0000000..726d0d9 Binary files /dev/null and b/client/public/images/sequenceSliderMobile/4.jpg differ diff --git a/client/public/images/sequenceWing.jpg b/client/public/images/sequenceWing.jpg index 936740c..9d60fa2 100644 Binary files a/client/public/images/sequenceWing.jpg and b/client/public/images/sequenceWing.jpg differ diff --git a/client/public/images/sequenceWingOld2.jpg b/client/public/images/sequenceWingOld2.jpg new file mode 100644 index 0000000..936740c Binary files /dev/null and b/client/public/images/sequenceWingOld2.jpg differ diff --git a/client/public/images/skyGardenSlider/1.jpg b/client/public/images/skyGardenSlider/1.jpg index b364187..8601831 100644 Binary files a/client/public/images/skyGardenSlider/1.jpg and b/client/public/images/skyGardenSlider/1.jpg differ diff --git a/client/public/images/skyGardenSlider/2.jpg b/client/public/images/skyGardenSlider/2.jpg index 3a48479..1870bfb 100644 Binary files a/client/public/images/skyGardenSlider/2.jpg and b/client/public/images/skyGardenSlider/2.jpg differ diff --git a/client/public/images/skyGardenSlider/3.jpg b/client/public/images/skyGardenSlider/3.jpg index d4e11a8..1dae43f 100644 Binary files a/client/public/images/skyGardenSlider/3.jpg and b/client/public/images/skyGardenSlider/3.jpg differ diff --git a/client/public/images/skyGardenSlider/4.jpg b/client/public/images/skyGardenSlider/4.jpg index 255e023..463359e 100644 Binary files a/client/public/images/skyGardenSlider/4.jpg and b/client/public/images/skyGardenSlider/4.jpg differ diff --git a/client/public/videos/GroundLevel.mp4 b/client/public/videos/GroundLevel.mp4 new file mode 100644 index 0000000..123fe43 Binary files /dev/null and b/client/public/videos/GroundLevel.mp4 differ diff --git a/client/public/videos/PodiumLevel.mp4 b/client/public/videos/PodiumLevel.mp4 new file mode 100644 index 0000000..f4425c6 Binary files /dev/null and b/client/public/videos/PodiumLevel.mp4 differ diff --git a/client/public/videos/Rooftop.mp4 b/client/public/videos/Rooftop.mp4 new file mode 100644 index 0000000..bfa8a52 Binary files /dev/null and b/client/public/videos/Rooftop.mp4 differ diff --git a/client/src/components/AboutProject/Slider.tsx b/client/src/components/AboutProject/Slider.tsx index f602696..4ea48ba 100644 --- a/client/src/components/AboutProject/Slider.tsx +++ b/client/src/components/AboutProject/Slider.tsx @@ -1,7 +1,7 @@ import { useEffect, useRef, useState } from "react"; -import Button2 from "../Button2"; import ArrowLeftIcon from "../icons/ArrowLeftIcon"; import ArrowRightIcon from "../icons/ArrowRightIcon"; +import Button3 from "../Button3"; const slides = [ { @@ -84,7 +84,7 @@ function Slider() {
- - { }; return ( -
-
+
+

View from window

-
-
+
+

Parameters

@@ -63,19 +62,18 @@ const ApartmentSidebar = ({ currentApartment }: ApartmentSidebarProps) => { {/* AED {formatNumber(1668888, ",", 3, 1)} */}

-
+
-
diff --git a/client/src/components/ButtomPanel.tsx b/client/src/components/ButtomPanel.tsx index 1ff0e1f..b5271d8 100644 --- a/client/src/components/ButtomPanel.tsx +++ b/client/src/components/ButtomPanel.tsx @@ -1,7 +1,7 @@ -import Button from "./Button"; import DisclaimerIcon from "./icons/DisclaimerIcon"; import useModal from "../store/useModal"; import DisclaimerModal from "./modals/DisclaimerModal"; +import Button3 from "./Button3"; const ButtomPanel = () => { const { setModal } = useModal(); @@ -9,23 +9,28 @@ const ButtomPanel = () => { setModal(); }; return ( -
+
-
- compass +
diff --git a/client/src/components/ButtomPanelCompass.tsx b/client/src/components/ButtomPanelCompass.tsx index ae7a38f..3d8dd79 100644 --- a/client/src/components/ButtomPanelCompass.tsx +++ b/client/src/components/ButtomPanelCompass.tsx @@ -1,8 +1,8 @@ import useModal from "../store/useModal"; import useCompass from "../store/useCompass"; -import Button from "./Button"; import DisclaimerIcon from "./icons/DisclaimerIcon"; import DisclaimerModal from "./modals/DisclaimerModal"; +import Button3 from "./Button3"; const ButtomPanelCompass = () => { const { setModal } = useModal(); @@ -13,16 +13,18 @@ const ButtomPanelCompass = () => { }; return ( -
+
-
@@ -31,8 +33,8 @@ const ButtomPanelCompass = () => { compass
diff --git a/client/src/components/Button.tsx b/client/src/components/Button.tsx deleted file mode 100644 index 0820abf..0000000 --- a/client/src/components/Button.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { - backgroundColors, - textColors, - borders, - paddings, -} from "../consts/buttonStyles"; -import { ButtonType } from "../types/button"; - -interface ButtonProps { - buttonType?: ButtonType; - icon?: React.ReactNode; - text?: string; - className?: string; - onClick?: ( - event: React.MouseEvent - ) => void | (() => void); - disabled?: boolean; - isCircleRounded?: boolean; - type?: "button" | "submit" | "reset"; - iconPos?: "right" | "left"; -} - -const Button = ({ - className, - icon, - text, - buttonType = "primary", - disabled = false, - onClick, - type = "button", - iconPos = "left", - isCircleRounded = false, -}: ButtonProps) => { - const backgroundColor = backgroundColors[buttonType]; - const textColor = textColors[buttonType]; - const border = borders[buttonType]; - const padding = paddings[buttonType]; - const rounded = isCircleRounded ? "rounded-full" : "rounded-lg"; - const disabledStyle = disabled ? "bg-[#0D192214] text-gray-400" : ""; - - return ( - - ); -}; - -export default Button; diff --git a/client/src/components/Button2.tsx b/client/src/components/Button2.tsx deleted file mode 100644 index ca261a2..0000000 --- a/client/src/components/Button2.tsx +++ /dev/null @@ -1,54 +0,0 @@ -interface Props { - variant?: "primary" | "secondary"; - size?: "large" | "medium" | "small"; - roundedFull?: boolean; - icon?: JSX.Element; - onlyIcon?: boolean; - children?: React.ReactNode; - className?: string; - onClick?: () => void; -} - -const variantClasses = { - primary: "bg-[#00BED7] text-white hover:bg-[#0AB3C9]", - secondary: "bg-white hover:text-[#0D1922]", -}; - -const sizeClasses = { - large: "px-4 py-3 gap-2 text-base", - medium: "px-3.5 py-2.5 gap-1 text-sm", - small: "px-3 py-2.5 gap-1 text-xs", -}; - -function Button2({ - variant = "primary", - size = "medium", - roundedFull = false, - icon, - onlyIcon = false, - children, - className, - onClick, -}: Props) { - return ( - - ); -} - -export default Button2; diff --git a/client/src/components/Button3.tsx b/client/src/components/Button3.tsx index 208e933..cf888ed 100644 --- a/client/src/components/Button3.tsx +++ b/client/src/components/Button3.tsx @@ -1,6 +1,7 @@ interface Props { - variant?: "primary" | "secondary"; - size?: "large" | "medium" | "small"; + type?: "button" | "submit" | "reset"; + variant?: "primary" | "secondary" | "special"; + size?: "large" | "medium" | "small" | "xsmall"; roundedFull?: boolean; icon?: JSX.Element; onlyIcon?: boolean; @@ -12,22 +13,28 @@ interface Props { const variantClasses = { primary: "bg-[#00BED7] text-white enabled:hover:bg-[#0AB3C9]", - secondary: "bg-white enabled:hover:text-[#0D1922] ring-1 ring-[#E2E2DC] ring-inset", + secondary: + "bg-white enabled:hover:text-[#0D1922] ring-1 ring-[#E2E2DC] ring-inset", + special: + "bg-[#0D1922]/60 font-semibold text-white enabled:hover:bg-[#0D1922]/40", }; const sizeClasses = { large: "px-4 py-3 gap-2 text-base", medium: "px-3.5 py-2.5 gap-1 text-sm", small: "px-3 py-2.5 gap-1 text-xs", + xsmall: "pl-2 pr-3 py-1 gap-1 text-xs", }; const onlyIconSizeClasses = { large: "p-3", medium: "p-2.5", small: "p-2.5", + xsmall: "p-2", }; function Button3({ + type = "button", variant = "primary", size = "medium", roundedFull = false, @@ -40,12 +47,13 @@ function Button3({ }: Props) { return (
); diff --git a/client/src/components/FloorPlanGroundLevel.tsx b/client/src/components/FloorPlanGroundLevel.tsx new file mode 100644 index 0000000..13c07e8 --- /dev/null +++ b/client/src/components/FloorPlanGroundLevel.tsx @@ -0,0 +1,71 @@ +import Button3 from "./Button3"; +import ActivityCard from "./complexWingPage/SkygardenSidebar/ActivityCard"; +import PlayIcon from "./icons/PlayIcon"; +import VirtualTourVideoModal from "./modals/VirtualTourVideoModal"; +import useModal from "../store/useModal"; +import SidebarSlider from "./complexWingPage/SidebarSlider"; +import PadelPongIcon from "./icons/amenities/PadelPongIcon"; +import LoungingSpaceIcon from "./icons/amenities/LoungingSpaceIcon"; +import OutdoorCoworkingSpaceIcon from "./icons/amenities/OutdoorCoworkingSpaceIcon"; +import LushLandscapeIcon from "./icons/amenities/LushLandscapeIcon"; +import PrivateMeetingRoomsIcon from "./icons/amenities/PrivateMeetingRoomsIcon"; +import ConvenienceStoreIcon from "./icons/amenities/ConvenienceStoreIcon"; +import SoundproofMeetingPodsIcon from "./icons/amenities/SoundproofMeetingPodsIcon"; + +function FloorPlanGroundLevel() { + const { setModal } = useModal(); + + return ( +
+
+
+ } + className="absolute self-end max-sm:hidden" + onClick={() => setModal()} + > + Play video + + } + onlyIcon + size="small" + className="absolute self-end sm:hidden" + onClick={() => setModal()} + /> +
+
+ +
+
+
+
+
+

Amenities

+
+ } /> + } /> + } /> + } /> + } /> + } /> + } /> +
+
+ +
+ ); +} + +export default FloorPlanGroundLevel; diff --git a/client/src/components/FloorPlanPodiumLevel.tsx b/client/src/components/FloorPlanPodiumLevel.tsx new file mode 100644 index 0000000..fee297d --- /dev/null +++ b/client/src/components/FloorPlanPodiumLevel.tsx @@ -0,0 +1,142 @@ +import { useState } from "react"; +import Button3 from "./Button3"; +import ActivityCard from "./complexWingPage/SkygardenSidebar/ActivityCard"; +import PlayIcon from "./icons/PlayIcon"; +import VirtualTourVideoModal from "./modals/VirtualTourVideoModal"; +import SwitchToggle from "./SwitchToggle"; +import useModal from "../store/useModal"; +import SidebarSlider from "./complexWingPage/SidebarSlider"; +import IndoorLoungeIcon from "./icons/amenities/IndoorLoungeIcon"; +import MonkeyBarsIcon from "./icons/amenities/MonkeyBarsIcon"; +import KaraokeRoomIcon from "./icons/amenities/KaraokeRoomIcon"; +import ArcadeGamesIcon from "./icons/amenities/ArcadeGamesIcon"; +import ClimbingWallIcon from "./icons/amenities/ClimbingWallIcon"; +import PlaystationDeckIcon from "./icons/amenities/PlaystationDeckIcon"; +import FullyEquippedGymIcon from "./icons/amenities/FullyEquippedGymIcon"; +import ChangingRoomsIcon from "./icons/amenities/ChangingRoomsIcon"; +import HammockMovieLoungeIcon from "./icons/amenities/HammockMovieLoungeIcon"; +import GuestRoomsIcon from "./icons/amenities/GuestRoomsIcon"; +import MultiBallInteractiveGamingIcon from "./icons/amenities/MultiBallInteractiveGamingIcon"; +import MultiPurposeRoomWithKitchenIcon from "./icons/amenities/MultiPurposeRoomWithKitchenIcon"; +import GamingLoungeIcon from "./icons/amenities/GamingLoungeIcon"; +import UrbanBeachPoolIcon from "./icons/amenities/UrbanBeachPoolIcon"; +import JacuzziIcon from "./icons/amenities/JacuzziIcon"; +import YogaLoungeIcon from "./icons/amenities/YogaLoungeIcon"; +import SunLoungingDeckIcon from "./icons/amenities/SunLoungingDeckIcon"; +import IndoorLapPoolIcon from "./icons/amenities/IndoorLapPoolIcon"; +import AquaCyclingIcon from "./icons/amenities/AquaCyclingIcon"; +import CabanasWithDaybedsIcon from "./icons/amenities/CabanasWithDaybedsIcon"; +import OpenAirGymIcon from "./icons/amenities/OpenAirGymIcon"; +import RoveBeverageTruckIcon from "./icons/amenities/RoveBeverageTruckIcon"; +import IntegratedLapPoolIcon from "./icons/amenities/IntegratedLapPoolIcon"; +import OutdoorCoworkingSpaceIcon from "./icons/amenities/OutdoorCoworkingSpaceIcon"; +import OutdoorGamingTerraceIcon from "./icons/amenities/OutdoorGamingTerraceIcon"; +import SunkenSeatingIcon from "./icons/amenities/SunkenSeatingIcon"; + +const podiumLevelImages: { indoor: string; outdoor: string } = { + indoor: "/images/PodiumLevel/PodiumLevelIndoor.jpg", + outdoor: "/images/PodiumLevel/PodiumLevelOutdoor.jpg", +}; + +function FloorPlanPodiumLevel() { + const { setModal } = useModal(); + const [selectedPodiumLevelImage, setSelectedPodiumLevelImage] = useState<"indoor" | "outdoor">("indoor"); + + return ( +
+
+
+ } + className="absolute self-end max-sm:hidden" + onClick={() => setModal()} + > + Play video + + } + onlyIcon + size="small" + className="absolute self-end sm:hidden" + onClick={() => setModal()} + /> +
+
+ +
+
+ setSelectedPodiumLevelImage(label.id as "indoor" | "outdoor")} + /> +
+
+
+
+
+

Indoor Amenities

+
+ } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> +
+
+
+

Outdoor Amenities

+
+ } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> +
+
+ +
+ ); +} + +export default FloorPlanPodiumLevel; diff --git a/client/src/components/FloorPlanRooftop.tsx b/client/src/components/FloorPlanRooftop.tsx new file mode 100644 index 0000000..827b052 --- /dev/null +++ b/client/src/components/FloorPlanRooftop.tsx @@ -0,0 +1,68 @@ +import Button3 from "./Button3"; +import ActivityCard from "./complexWingPage/SkygardenSidebar/ActivityCard"; +import PlayIcon from "./icons/PlayIcon"; +import VirtualTourVideoModal from "./modals/VirtualTourVideoModal"; +import useModal from "../store/useModal"; +import StargazingPointIcon from "./icons/amenities/StargazingPointIcon"; +import BBQTerraceIcon from "./icons/amenities/BBQTerraceIcon"; +import OutdoorKitchenIcon from "./icons/amenities/OutdoorKitchenIcon"; +import CabanasWithDaybedsIcon from "./icons/amenities/CabanasWithDaybedsIcon"; +import ViewingDeckWithSwingsIcon from "./icons/amenities/ViewingDeckWithSwingsIcon"; +import LoungingSpaceIcon from "./icons/amenities/LoungingSpaceIcon"; +import SunkenSeatingIcon from "./icons/amenities/SunkenSeatingIcon"; +import FirepitIcon from "./icons/amenities/FirepitIcon"; +import RooftopGardenIcon from "./icons/amenities/RooftopGardenIcon"; +import CommunalDiningTablesIcon from "./icons/amenities/CommunalDiningTablesIcon"; +import SidebarSlider from "./complexWingPage/SidebarSlider"; + +function FloorPlanRooftop() { + const { setModal } = useModal(); + + return ( +
+
+
+ } + className="absolute self-end max-sm:hidden" + onClick={() => setModal()} + > + Play video + + } + onlyIcon + size="small" + className="absolute self-end sm:hidden" + onClick={() => setModal()} + /> +
+
+ +
+
+
+
+
+

Amenities

+
+ } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> +
+
+ +
+ ); +} + +export default FloorPlanRooftop; diff --git a/client/src/components/FloorPlanSkyGarden.tsx b/client/src/components/FloorPlanSkyGarden.tsx index fb59b5f..4ef3159 100644 --- a/client/src/components/FloorPlanSkyGarden.tsx +++ b/client/src/components/FloorPlanSkyGarden.tsx @@ -1,28 +1,28 @@ import { useState } from "react"; import Button3 from "./Button3"; import ActivityCard from "./complexWingPage/SkygardenSidebar/ActivityCard"; -import SkyGardenSlider from "./complexWingPage/SkygardenSidebar/SkyGardenSlider"; -import AmphitheatreIcon from "./icons/activities/AmphitheatreIcon"; -import BoulderingWallIcon from "./icons/activities/BoulderingWallIcon"; -import ChangingRoomsIcon from "./icons/activities/ChangingRoomsIcon"; -import ChessTablesIcon from "./icons/activities/ChessTablesIcon"; -import ClimbingRoomIcon from "./icons/activities/ClimbingRoomIcon"; -import CommunalDiningTablesIcon from "./icons/activities/CommunalDiningTablesIcon"; -import IndoorLapPoolIcon from "./icons/activities/IndoorLapPoolIcon"; -import LushLandscapeIcon from "./icons/activities/LushLandscapeIcon"; -import MultiPurposeCourtIcon from "./icons/activities/MultiPurposeCourtIcon"; -import OutdoorCinemaIcon from "./icons/activities/OutdoorCinemaIcon"; -import OutdoorCoworkingSpaceIcon from "./icons/activities/OutdoorCoworkingSpaceIcon"; -import PadelPongIcon from "./icons/activities/PadelPongIcon"; -import PingPongInATableIcon from "./icons/activities/PingPongInATableIcon"; -import RunningWheelIcon from "./icons/activities/RunningWheelIcon"; -import SunLoungingDeckIcon from "./icons/activities/SunLoungingDeckIcon"; -import SuspendedLoungingNetsIcon from "./icons/activities/SuspendedLoungingNetsIcon"; -import WellnessFeaturesIcon from "./icons/activities/WellnessFeaturesIcon"; +import AmphitheatreIcon from "./icons/amenities/AmphitheatreIcon"; +import BoulderingWallIcon from "./icons/amenities/BoulderingWallIcon"; +import ChangingRoomsIcon from "./icons/amenities/ChangingRoomsIcon"; +import ChessTablesIcon from "./icons/amenities/ChessTablesIcon"; +import ClimbingRoomIcon from "./icons/amenities/ClimbingRoomIcon"; +import CommunalDiningTablesIcon from "./icons/amenities/CommunalDiningTablesIcon"; +import IndoorLapPoolIcon from "./icons/amenities/IndoorLapPoolIcon"; +import LushLandscapeIcon from "./icons/amenities/LushLandscapeIcon"; +import MultiPurposeCourtIcon from "./icons/amenities/MultiPurposeCourtIcon"; +import OutdoorCinemaIcon from "./icons/amenities/OutdoorCinemaIcon"; +import OutdoorCoworkingSpaceIcon from "./icons/amenities/OutdoorCoworkingSpaceIcon"; +import PadelPongIcon from "./icons/amenities/PadelPongIcon"; +import PingPongInATableIcon from "./icons/amenities/PingPongInATableIcon"; +import RunningWheelIcon from "./icons/amenities/RunningWheelIcon"; +import SunLoungingDeckIcon from "./icons/amenities/SunLoungingDeckIcon"; +import SuspendedLoungingNetsIcon from "./icons/amenities/SuspendedLoungingNetsIcon"; +import WellnessFeaturesIcon from "./icons/amenities/WellnessFeaturesIcon"; import PlayIcon from "./icons/PlayIcon"; import VirtualTourVideoModal from "./modals/VirtualTourVideoModal"; import SwitchToggle from "./SwitchToggle"; import useModal from "../store/useModal"; +import SidebarSlider from "./complexWingPage/SidebarSlider"; const skyGardenImages: { indoor: string; outdoor: string } = { indoor: "/images/skyGarden/sky-garden-indoor.jpg", @@ -148,7 +148,14 @@ function FloorPlanSkyGarden() { />
- +
); } diff --git a/client/src/components/FloorPopup.tsx b/client/src/components/FloorPopup.tsx index deb6a3a..5af5ecf 100644 --- a/client/src/components/FloorPopup.tsx +++ b/client/src/components/FloorPopup.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from "react"; +import IFloorPopupItem from "../types/IFloorPopupItem"; interface Props { visible: boolean; @@ -9,30 +10,149 @@ interface Props { function FloorPopup({ visible, mousePos, path }: Props) { const [name, setName] = useState(); const [wing, setWing] = useState(); + const [items, setItems] = useState([]); useEffect(() => { if (!path) return; - if (path.dataset["name"]?.includes("floor")) { - setName(`${path.dataset["name"].split(" ")[1]} floor`); - setWing(`${path.dataset["name"].split(" ")[0]} Wing`); + const name = path.dataset["name"]; + + if (name?.includes("floor")) { + const floor = name.split(" ")[1]; + const wing = name.split(" ")[0]; + setName(`${floor} floor`); + setWing(`${wing} Wing`); + + if (wing === "East") { + setItems([ + { + count: 7, + title: "Studio²", + }, + { + count: 8, + title: "1 Bedroom", + }, + { + count: 1, + title: "2 Bedroom²", + }, + ]); + } else { + if (+floor > 21) { + // upper + setItems([ + { + count: 5, + title: "Studio²", + }, + { + count: 8, + title: "1 Bedroom", + }, + { + count: 2, + title: "2 Bedroom²", + }, + ]); + } else { + // lower + setItems([ + { + count: 6, + title: "Studio Flex", + }, + { + count: 3, + title: "Studio²", + }, + { + count: 6, + title: "1 Bedroom", + }, + { + count: 1, + title: "2 Bedroom²", + }, + ]); + } + } } else { setName(path.dataset["name"]); setWing(""); + + switch (name) { + case "Rooftop": + setItems([ + { + count: 10, + title: "Amenities", + }, + ]); + break; + + case "Sky Garden": + setItems([ + { + count: 3, + title: "Indoor Amenities", + }, + { + count: 14, + title: "Outdoor Amenities", + }, + ]); + break; + + case "Podium Level": + setItems([ + { + count: 13, + title: "Indoor Amenities", + }, + { + count: 14, + title: "Outdoor Amenities", + }, + ]); + break; + + case "Ground Level": + setItems([ + { + count: 7, + title: "Amenities", + }, + ]); + break; + + default: + break; + } } }, [path]); return (
-
+

{name}

{wing &&

{wing}

}
+
+ {items.map((item, index) => ( +
+
+ {item.count} +
+

{item.title}

+
+ ))} +
); } diff --git a/client/src/components/FloorSidebarContainer.tsx b/client/src/components/FloorSidebarContainer.tsx index 09000bf..7b8ad7f 100644 --- a/client/src/components/FloorSidebarContainer.tsx +++ b/client/src/components/FloorSidebarContainer.tsx @@ -5,7 +5,7 @@ import CloseIcon from "./icons/CloseIcon"; interface Props { sidebarComponent: { element: JSX.Element; - name: "Floor" | "Rooftop" | "Sky Garden" | "Podium" | "Ground"; + name: "Floor" | "Rooftop" | "Sky Garden" | "Podium Level" | "Ground Level"; desc?: string; } | null; onClose: () => void; @@ -21,22 +21,18 @@ function FloorSidebarContainer({ sidebarComponent, onClose }: Props) { return (
-
+

- {(component?.name === "Floor" && - `${component.element.props.floor} floor`) || - (component?.name === "Sky Garden" && `${component.name}`)} + {component?.name === "Floor" ? `${component.element.props.floor} floor` : component?.name}

-

{component?.name === "Sky Garden" && `${component.desc}`}

-
-
- } onlyIcon onClick={onClose} /> +

{component?.desc}

+ } onlyIcon onClick={onClose} className="self-start" />
{component?.element} diff --git a/client/src/components/Header.tsx b/client/src/components/Header.tsx index ae152a7..f9d85ae 100644 --- a/client/src/components/Header.tsx +++ b/client/src/components/Header.tsx @@ -1,8 +1,7 @@ import { NavLink } from "react-router-dom"; import LocationIcon from "./icons/LocationIcon"; import Logo2Icon from "./icons/Logo2Icon"; -import Button2 from "./Button2"; -import BurgerIcon from "./icons/activities/BurgerIcon"; +import BurgerIcon from "./icons/amenities/BurgerIcon"; import useModal from "../store/useModal"; import NavbarModal from "./modals/NavbarModal"; import { useState } from "react"; @@ -12,6 +11,7 @@ import ChevronDownIcon from "./icons/ChevronDownIcon"; import DownloadIcon from "./icons/DownloadIcon"; import { useClickAway } from "@uidotdev/usehooks"; import { Transition } from "react-transition-group"; +import Button3 from "./Button3"; function Header() { const [showNavbar, setShowNavbar] = useState(false); @@ -110,7 +110,7 @@ function Header() { href="/files/marasi-drive/ROVE_AMENITIES_BROCHURE.pdf" className="flex items-center justify-between gap-4 bg-[#FFFFFF]/80 text-xs font-semibold px-3 py-2 rounded-lg transition-[color] hover:text-[#00BED7]" > - Rove Amenties Brochure + Rove Amenities Brochure - Rove Amenties Brochure + Rove Amenities Brochure
- void; +} + +function SelectWingMobile({ onClick }: Props) { + return ( + <> + {/* + */} + onClick("west")} + /> + onClick("east")} + /> + + ); +} + +export default SelectWingMobile; diff --git a/client/src/components/WestWingFloorLabels.tsx b/client/src/components/WestWingFloorLabels.tsx index c89ca05..06f13f4 100644 --- a/client/src/components/WestWingFloorLabels.tsx +++ b/client/src/components/WestWingFloorLabels.tsx @@ -17,7 +17,7 @@ function WestWingFloorLabels() { }} /> - + { return (
{ /> ))}
-
-
+
{images.map((image, index) => (
{ className="col-span-full relative xl:aspect-video sm:aspect-[7.6/10] grid grid-cols-12 items-end pb-6 sm:pl-4 sm:px-0 px-4" {...handlers} > - {/*
*/} + {/*
*/}

@@ -110,10 +110,10 @@ const RoveHomeSlider = () => { {rovehomeSlides[offset * -1].desc2}

-
+
-

{rovehomeSlides.length - rovehomeSlides.length + 1 - offset}/ @@ -123,11 +123,11 @@ const RoveHomeSlider = () => {

{rovehomeSlides.map((slide) => ( -
+
{
))}
-
+
{rovehomeSlides.map((_, index) => (
{ const navigate = useNavigate(); const unitNo = currentApartment.Unit_No.split("-")[1]; const [isFavorite, setIsFavorite] = useState(false); - const { setFavorites } = useFavorites(); + // const { setFavorites } = useFavorites(); const handleOnBackClick = () => { navigate("../search"); }; - const handleOnFavoriteClick = ( - e: React.MouseEvent - ) => { - e.stopPropagation(); - const favorites = localStorage.getItem("Favorites"); + // const handleOnFavoriteClick = ( + // e: React.MouseEvent + // ) => { + // e.stopPropagation(); + // const favorites = localStorage.getItem("Favorites"); - if (!favorites) { - setIsFavorite(true); - const updatedFavorites = JSON.stringify([currentApartment]); + // if (!favorites) { + // setIsFavorite(true); + // const updatedFavorites = JSON.stringify([currentApartment]); - localStorage.setItem("Favorites", updatedFavorites); - } else { - const _favorites = JSON.parse(favorites) as IAparmentRes[]; + // localStorage.setItem("Favorites", updatedFavorites); + // } else { + // const _favorites = JSON.parse(favorites) as IAparmentRes[]; - if (_favorites.some((apart) => apart.id === currentApartment.id)) { - setIsFavorite(false); - const updatedFavorites = [..._favorites].filter( - (apart) => apart.id !== currentApartment.id - ); - const convertedFavorites = JSON.stringify(updatedFavorites); - setFavorites(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } else { - setIsFavorite(true); - const updatedFavorites = [..._favorites, currentApartment]; - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } - } - }; + // if (_favorites.some((apart) => apart.id === currentApartment.id)) { + // setIsFavorite(false); + // const updatedFavorites = [..._favorites].filter( + // (apart) => apart.id !== currentApartment.id + // ); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // setFavorites(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } else { + // setIsFavorite(true); + // const updatedFavorites = [..._favorites, currentApartment]; + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } + // } + // }; useEffect(() => { const favorites = localStorage.getItem("Favorites"); @@ -63,13 +63,9 @@ const ButtonPanel = ({ currentApartment }: ButtonPanelProps) => { }, [currentApartment.id]); return ( -
-
-
); }; diff --git a/client/src/components/apartmentPage/SimilarSlider.tsx b/client/src/components/apartmentPage/SimilarSlider.tsx index 234ecde..d0826fb 100644 --- a/client/src/components/apartmentPage/SimilarSlider.tsx +++ b/client/src/components/apartmentPage/SimilarSlider.tsx @@ -3,9 +3,9 @@ import { useLayoutEffect, useRef, useState } from "react"; import { layoutsCards } from "../../consts/initialSearchPage"; import SimilarAppartmentCard from "./SimilarAppartmentCard"; -import Button from "../Button"; import RightArrowIcon from "../icons/RightArrowIcon"; import { useSwipeable } from "react-swipeable"; +import Button3 from "../Button3"; const desktopCols = 4; const laptopCols = 2; @@ -61,22 +61,20 @@ const SimilarSlider = () => { Similar
-
-
+
{ transform: `translateX(${offset * cardWidth}px)`, }} > -
+
{Array.from({ length: Math.round(cards.length / cols) }).map( (_, index) => { return ( diff --git a/client/src/components/companyPage/OurValues/Slider.tsx b/client/src/components/companyPage/OurValues/Slider.tsx index 3b13e30..a9435cc 100644 --- a/client/src/components/companyPage/OurValues/Slider.tsx +++ b/client/src/components/companyPage/OurValues/Slider.tsx @@ -2,10 +2,10 @@ import { useSwipeable } from "react-swipeable"; import { Image } from "../../../types/image"; import { useLayoutEffect, useRef, useState } from "react"; -import Button from "../../Button"; import LeftArrowSliderIcon from "../../icons/LeftArrowSliderIcon"; import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon"; import { isMobile } from "react-device-detect"; +import Button3 from "../../Button3"; const images: Image[] = [ { id: "1", src: "./images/company/slider/1.jpg" }, @@ -67,7 +67,7 @@ const Slider = () => { return (
{ /> ))}
-
-
+
{images.map((image, index) => (
{ - const { setModal } = useModal(); - // const { onFullscreen, isFullscreen, setIsFullscreen } = useFullScreen(); - const { setIsSidebar, isSidebar } = useWingSidebar(); const navigate = useNavigate(); - // const handleOnHelpClick = () => { - // setModal(); - // }; - - // const handleOnFiltersClick = () => { - // setModal(); - // }; - - const handleOnMobileFiltersClick = () => { - setModal( - - - - ); - }; - - const handleOnBackClick = () => { - if (isSidebar) { - setIsSidebar(false); - } else { - navigate("/"); - } - }; - - // const handleOnFullScreenClick = () => { - // if (!onFullscreen) return; - - // setIsFullscreen(!isFullscreen); - // if (!isFullscreen) { - // onFullscreen.enter(); - // } else { - // onFullscreen.exit(); - // } - // }; - - const handleOnAboutComplexClick = () => { - navigate(`../about-projects`); - }; - return ( - <> -
- -
-
-
-
*/} +
- +
); }; diff --git a/client/src/components/complexPage/SequenceSlider.tsx b/client/src/components/complexPage/SequenceSlider.tsx index 0ce5c6d..f5cfbf2 100644 --- a/client/src/components/complexPage/SequenceSlider.tsx +++ b/client/src/components/complexPage/SequenceSlider.tsx @@ -5,12 +5,12 @@ import { isMobile } from "react-device-detect"; import { useSwipeable } from "react-swipeable"; import { Transition } from "react-transition-group"; import { useNavigate } from "react-router-dom"; -import Button from "../Button"; import LeftArrowSliderIcon from "../icons/LeftArrowSliderIcon"; import RightArrowSliderIcon from "../icons/RightArrowSliderIcon"; import useCompass from "../../store/useCompass"; import SequenceHighlighting from "./SequenceHighlighting"; import { laptopWidth, mobileWidht } from "../../consts/masterplan"; +import Button3 from "../Button3"; const arrayLength = 360; const keyframes: number[] = [51, 178, 249, 339]; @@ -165,7 +165,7 @@ function SequenceSlider({ path }: SequenceSliderProps) { return (
- diff --git a/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx b/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx index f47d43d..44935f7 100644 --- a/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx +++ b/client/src/components/complexWingPage/SequenceWing/MobileFloorDescription.tsx @@ -1,6 +1,6 @@ import { IDesctiptionFloor } from "../../../types/descriptionFloor"; import IUnit from "../../../types/IUnit"; -import Button from "../../Button"; +import Button3 from "../../Button3"; import CrossIcon from "../../icons/CrossIcon"; import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon"; @@ -15,7 +15,6 @@ const MobileFloorDescription = ({ descriptionFloor, floorApartments, isLeft, - onClick, }: MobileFloorDescriptionProps) => { return ( <> @@ -23,14 +22,14 @@ const MobileFloorDescription = ({ className={`bg-white rounded-2xl p-6 flex flex-col gap-4 w-[344px] absolute left-[414px] transition-opacity duration-300 desc-shadow h-[328px]`} >
-
+

{descriptionFloor?.floor} Floor

-
+

{descriptionFloor?.wing}

@@ -40,13 +39,13 @@ const MobileFloorDescription = ({

-
-
+
-

+

{ floorApartments.filter( (apart) => apart.unitType === "Studio Flex" @@ -59,9 +58,9 @@ const MobileFloorDescription = ({

Unavailable

-
+
-

+

{ floorApartments.filter( (apart) => apart.unitType === "Studio Squared" @@ -74,9 +73,9 @@ const MobileFloorDescription = ({

Unavailable

-
+
-

+

{ floorApartments.filter( (apart) => apart.unitType === "1 BR Squared" @@ -89,9 +88,9 @@ const MobileFloorDescription = ({

Unavailable

-
+
-

+

{ floorApartments.filter( (apart) => apart.unitType === "2 BR Squared" @@ -105,14 +104,9 @@ const MobileFloorDescription = ({

Unavailable

-
{ return ( @@ -17,7 +16,7 @@ const MobileSkygardenDescription = ({ className={`bg-white rounded-2xl p-6 flex flex-col gap-4 w-[344px] absolute left-[414px] transition-opacity duration-300 desc-shadow h-fit`} >
-
+

-
-
+
-

8

+

8

Indoor

3 amenities

-
+
-

+

8

@@ -49,14 +48,13 @@ const MobileSkygardenDescription = ({

14 amenities

-
(null); + const [width, setWidth] = useState(0); + const [selectedIndex, setSelectedIndex] = useState(0); + const handlers = useSwipeable({ + onSwipedLeft: next, + onSwipedRight: prev, + trackMouse: true, + }); + + function prev() { + if (selectedIndex === 0) return; + setSelectedIndex(selectedIndex - 1); + } + + function next() { + if (selectedIndex === images.length - 1) return; + setSelectedIndex(selectedIndex + 1); + } + + function handleResize() { + if (!ref.current) return; + + setWidth(ref.current.clientWidth - 48); + } + + useEffect(() => { + handleResize(); + + window.addEventListener("resize", handleResize); + + return () => { + window.removeEventListener("resize", handleResize); + }; + }, []); + + return ( +
+
+ {images.map((image, index) => ( + + ))} +
+ +
+ } + onlyIcon + roundedFull + className="ml-4" + onClick={prev} + disabled={selectedIndex === 0} + /> + } + onlyIcon + roundedFull + className="mr-4" + onClick={next} + disabled={selectedIndex === images.length - 1} + /> +
+
+ ); +} + +export default SidebarSlider; diff --git a/client/src/components/complexWingPage/SkygardenSidebar/ActivityCard.tsx b/client/src/components/complexWingPage/SkygardenSidebar/ActivityCard.tsx index 4151ad1..138e01b 100644 --- a/client/src/components/complexWingPage/SkygardenSidebar/ActivityCard.tsx +++ b/client/src/components/complexWingPage/SkygardenSidebar/ActivityCard.tsx @@ -5,20 +5,9 @@ interface ActivityCardProps { const ActivityCard = ({ icon, title }: ActivityCardProps) => { return ( - //
- //
- //
- //

{title}

- //
- //
- // {icon} - //
- //
-
- {icon} -
-

{title}

+
{icon}
+

{title}

); }; diff --git a/client/src/components/complexWingPage/SkygardenSidebar/SkyGardenSlider.tsx b/client/src/components/complexWingPage/SkygardenSidebar/SkyGardenSlider.tsx deleted file mode 100644 index 31ae042..0000000 --- a/client/src/components/complexWingPage/SkygardenSidebar/SkyGardenSlider.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { useEffect, useRef, useState } from "react"; -import ArrowLeftIcon from "../../icons/ArrowLeftIcon"; -import ArrowRightIcon from "../../icons/ArrowRightIcon"; - -const images = [ - "/images/skyGardenSlider/1.jpg", - "/images/skyGardenSlider/2.jpg", - "/images/skyGardenSlider/3.jpg", - "/images/skyGardenSlider/4.jpg", -]; - -function SkyGardenSlider() { - const ref = useRef(null); - const [currentSlideIndex, setCurrentSlideIndex] = useState(0); - const [isShowNextButton, setIsShowNextButton] = useState(true); - const [isShowPrevButton, setIsShowPrevButton] = useState(false); - - function next() { - if (currentSlideIndex < 3) { - setCurrentSlideIndex((prev) => prev + 1); - } - } - - function prev() { - if (currentSlideIndex > 0) { - setCurrentSlideIndex((prev) => prev - 1); - } - } - - useEffect(() => { - if (currentSlideIndex === 0) { - setIsShowPrevButton(false); - } else if (currentSlideIndex === images.length - 1) { - setIsShowNextButton(false); - } else { - setIsShowPrevButton(true); - setIsShowNextButton(true); - } - }, [currentSlideIndex]); - - return ( -
- {ref.current?.clientWidth && ( - <> -
- {images.map((image, index) => ( - - ))} -
-
- {images.map((image, index) => ( - - ))} -
- - )} - -
- - -
-
- ); -} - -export default SkyGardenSlider; diff --git a/client/src/components/complexWingPage/SkygardenSidebar/SkygardenSidebar.tsx b/client/src/components/complexWingPage/SkygardenSidebar/SkygardenSidebar.tsx index 402525f..ef9ba71 100644 --- a/client/src/components/complexWingPage/SkygardenSidebar/SkygardenSidebar.tsx +++ b/client/src/components/complexWingPage/SkygardenSidebar/SkygardenSidebar.tsx @@ -1,29 +1,28 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import AmphitheatreIcon from "../../icons/activities/AmphitheatreIcon"; -import BoulderingWallIcon from "../../icons/activities/BoulderingWallIcon"; -import ChangingRoomsIcon from "../../icons/activities/ChangingRoomsIcon"; -import ChessTablesIcon from "../../icons/activities/ChessTablesIcon"; -import ClimbingRoomIcon from "../../icons/activities/ClimbingRoomIcon"; -import CommunalDiningTablesIcon from "../../icons/activities/CommunalDiningTablesIcon"; -import IndoorLapPoolIcon from "../../icons/activities/IndoorLapPoolIcon"; -import LushLandscapeIcon from "../../icons/activities/LushLandscapeIcon"; -import MultiPurposeCourtIcon from "../../icons/activities/MultiPurposeCourtIcon"; -import OutdoorCinemaIcon from "../../icons/activities/OutdoorCinemaIcon"; -import OutdoorCoworkingSpaceIcon from "../../icons/activities/OutdoorCoworkingSpaceIcon"; -import PadelPongIcon from "../../icons/activities/PadelPongIcon"; -import PingPongInATableIcon from "../../icons/activities/PingPongInATableIcon"; -import RunningWheelIcon from "../../icons/activities/RunningWheelIcon"; -import SunLoungingDeckIcon from "../../icons/activities/SunLoungingDeckIcon"; -import SuspendedLoungingNetsIcon from "../../icons/activities/SuspendedLoungingNetsIcon"; -import WellnessFeaturesIcon from "../../icons/activities/WellnessFeaturesIcon"; +import AmphitheatreIcon from "../../icons/amenities/AmphitheatreIcon"; +import BoulderingWallIcon from "../../icons/amenities/BoulderingWallIcon"; +import ChangingRoomsIcon from "../../icons/amenities/ChangingRoomsIcon"; +import ChessTablesIcon from "../../icons/amenities/ChessTablesIcon"; +import ClimbingRoomIcon from "../../icons/amenities/ClimbingRoomIcon"; +import CommunalDiningTablesIcon from "../../icons/amenities/CommunalDiningTablesIcon"; +import IndoorLapPoolIcon from "../../icons/amenities/IndoorLapPoolIcon"; +import LushLandscapeIcon from "../../icons/amenities/LushLandscapeIcon"; +import MultiPurposeCourtIcon from "../../icons/amenities/MultiPurposeCourtIcon"; +import OutdoorCinemaIcon from "../../icons/amenities/OutdoorCinemaIcon"; +import OutdoorCoworkingSpaceIcon from "../../icons/amenities/OutdoorCoworkingSpaceIcon"; +import PadelPongIcon from "../../icons/amenities/PadelPongIcon"; +import PingPongInATableIcon from "../../icons/amenities/PingPongInATableIcon"; +import RunningWheelIcon from "../../icons/amenities/RunningWheelIcon"; +import SunLoungingDeckIcon from "../../icons/amenities/SunLoungingDeckIcon"; +import SuspendedLoungingNetsIcon from "../../icons/amenities/SuspendedLoungingNetsIcon"; +import WellnessFeaturesIcon from "../../icons/amenities/WellnessFeaturesIcon"; import ActivityCard from "./ActivityCard"; import LayoutSlider from "./LayoutSlider"; -import Button from "../../Button"; import VideoIcon from "../../icons/VideoIcon"; import useModal from "../../../store/useModal"; import VirtualTourVideoModal from "../../modals/VirtualTourVideoModal"; import CloseIcon from "../../icons/CloseIcon"; -import SkyGardenSlider from "./SkyGardenSlider"; +import Button3 from "../../Button3"; interface ISkygardenSidebarProps { onMouseEnter: () => void; @@ -41,31 +40,32 @@ const SkygardenSidebar = ({ className="absolute h-full right-0 w-full z-30 bg-[#F3F3F2] flex flex-col top-[58px] space-y-6 overflow-y-scroll" onMouseOver={onMouseEnter} > -
+

Sky Garden

22-23 floor

-
-
+
-

@@ -136,7 +136,6 @@ const SkygardenSidebar = ({

{/* */}
-
); }; diff --git a/client/src/components/complexWingPage/SkygardenSidebar/ZoneSlider.tsx b/client/src/components/complexWingPage/SkygardenSidebar/ZoneSlider.tsx index 5c3a7dd..93556f4 100644 --- a/client/src/components/complexWingPage/SkygardenSidebar/ZoneSlider.tsx +++ b/client/src/components/complexWingPage/SkygardenSidebar/ZoneSlider.tsx @@ -2,10 +2,10 @@ import { useSwipeable } from "react-swipeable"; import { Image } from "../../../types/image"; import { useLayoutEffect, useRef, useState } from "react"; -import Button from "../../Button"; import LeftArrowSliderIcon from "../../icons/LeftArrowSliderIcon"; import RightArrowSliderIcon from "../../icons/RightArrowSliderIcon"; import { isMobile } from "react-device-detect"; +import Button3 from "../../Button3"; const images: Image[] = [ { id: "1", src: "/images/skyGardenSlider/1.jpg" }, @@ -78,22 +78,22 @@ const ZoneSlider = () => { src={image.src} alt="" // className="rounded-2xl sm:aspect-[6.6/3.7] object-cover pointer-events-none select-none" - className="rounded-2xl pointer-events-none select-none" + className="pointer-events-none select-none rounded-2xl" /> ))}
-
-
+
{images.map((image, index) => (
{ const { Floor, Unit_Type, Total_Area_Sqft, Unit_No } = card; const wing = Unit_No.split("-")[0] === "E" ? "East" : "West"; const navigate = useNavigate(); - const { setFavorites } = useFavorites(); + // const { setFavorites } = useFavorites(); const isLayoutType = unitTypeWithLayouts.some((type) => type === Unit_Type); const layoutImage = isLayoutType ? apartmentLayoutImages[Unit_Type] @@ -45,67 +45,66 @@ const FavoriteAppartmentCard = ({ card }: FavoriteAppartmentCardProps) => { ); }; - const handleOnAddFavoriteClick = ( - e: React.MouseEvent - ) => { - e.stopPropagation(); - const favorites = localStorage.getItem("Favorites"); + // const handleOnAddFavoriteClick = ( + // e: React.MouseEvent + // ) => { + // e.stopPropagation(); + // const favorites = localStorage.getItem("Favorites"); - if (favorites) { - const _favorites = JSON.parse(favorites) as IAparmentRes[]; - if (_favorites.some((apart) => apart.id === card.id)) { - const updatedFavorites = [..._favorites].filter( - (apart) => apart.id !== card.id - ); - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } else { - const updatedFavorites = [..._favorites, card]; - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } - } - }; + // if (favorites) { + // const _favorites = JSON.parse(favorites) as IAparmentRes[]; + // if (_favorites.some((apart) => apart.id === card.id)) { + // const updatedFavorites = [..._favorites].filter( + // (apart) => apart.id !== card.id + // ); + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } else { + // const updatedFavorites = [..._favorites, card]; + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } + // } + // }; return ( <>
-
-
+
+

Rove Home {Unit_Type}

-

+

{wing} Wing

-

+

Floor {Floor}

-

+

{Unit_No}

-
-
+
@@ -118,18 +117,16 @@ const FavoriteAppartmentCard = ({ card }: FavoriteAppartmentCardProps) => { Unavailable

-
diff --git a/client/src/components/favoritesPage/FavoriteSlider.tsx b/client/src/components/favoritesPage/FavoriteSlider.tsx index 72a30a8..88d1118 100644 --- a/client/src/components/favoritesPage/FavoriteSlider.tsx +++ b/client/src/components/favoritesPage/FavoriteSlider.tsx @@ -1,10 +1,11 @@ +/* eslint-disable react-hooks/exhaustive-deps */ import { useState, useRef, useEffect } from "react"; import FavoriteSliderCard from "./FavoriteSliderCard"; -import Button from "../Button"; import RightArrowIcon from "../icons/RightArrowIcon"; import LeftArrowIcon from "../icons/LeftArrowIcon"; import { useSwipeable } from "react-swipeable"; import useFavorites from "../../store/useFavorites"; +import Button3 from "../Button3"; const FavoritesSlider = () => { const [offset, setOffset] = useState(0); @@ -56,33 +57,33 @@ const FavoritesSlider = () => { return (
-
-
-
+
{Array.from({ length: Math.ceil(favorites.length / cols) }).map( (_, index) => { console.log("index", index); diff --git a/client/src/components/favoritesPage/FavoriteSliderCard.tsx b/client/src/components/favoritesPage/FavoriteSliderCard.tsx index 2d5652c..2b64ebb 100644 --- a/client/src/components/favoritesPage/FavoriteSliderCard.tsx +++ b/client/src/components/favoritesPage/FavoriteSliderCard.tsx @@ -2,9 +2,9 @@ import { apartmentLayoutImages } from "../../consts/apartmentLayoutsImages"; import { apartmentRoutes } from "../../consts/apartmentsRoutes"; import { unitTypeWithLayouts } from "../../consts/defaultApartmentTypes"; -import useFavorites from "../../store/useFavorites"; +// import useFavorites from "../../store/useFavorites"; import { IAparmentRes } from "../../types/apartmentsRes"; -import Button from "../Button"; +import Button3 from "../Button3"; import BookingIcon from "../icons/BookingIcon"; import HeartIcon from "../icons/Heart"; @@ -15,7 +15,7 @@ interface FavoriteSliderCardProps { const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => { const wing = card.Unit_No.split("-")[0] === "E" ? "East" : "West"; - const { setFavorites } = useFavorites(); + // const { setFavorites } = useFavorites(); const isLayoutType = unitTypeWithLayouts.some( (type) => type === card.Unit_Type ); @@ -23,34 +23,34 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => { ? apartmentLayoutImages[card.Unit_Type] : apartmentRoutes.find((apr) => apr.type === card.Unit_Type)?.layout; - const handleOnAddFavoriteClick = ( - e: React.MouseEvent - ) => { - e.stopPropagation(); - const favorites = localStorage.getItem("Favorites"); + // const handleOnAddFavoriteClick = ( + // e: React.MouseEvent + // ) => { + // e.stopPropagation(); + // const favorites = localStorage.getItem("Favorites"); - if (favorites) { - const _favorites = JSON.parse(favorites) as IAparmentRes[]; - if (_favorites.some((apart) => apart.id === card.id)) { - const updatedFavorites = [..._favorites].filter( - (apart) => apart.id !== card.id - ); - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } else { - const updatedFavorites = [..._favorites, card]; - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } - } - }; + // if (favorites) { + // const _favorites = JSON.parse(favorites) as IAparmentRes[]; + // if (_favorites.some((apart) => apart.id === card.id)) { + // const updatedFavorites = [..._favorites].filter( + // (apart) => apart.id !== card.id + // ); + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } else { + // const updatedFavorites = [..._favorites, card]; + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } + // } + // }; return ( -
+
@@ -59,17 +59,17 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => { {card.Unit_Type}, {Number(card.Total_Area_Sqft).toFixed(2)} Sqft
-
@@ -81,7 +81,9 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => {

Total Area

-

{Number(card.Total_Area_Sqft).toFixed(2)} Sqft

+

+ {Number(card.Total_Area_Sqft).toFixed(2)} Sqft +

Project

@@ -99,12 +101,9 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => {

Number

{card.Unit_No}

-
); }; diff --git a/client/src/components/header/Auth/Auth.tsx b/client/src/components/header/Auth/Auth.tsx deleted file mode 100644 index 6d59e31..0000000 --- a/client/src/components/header/Auth/Auth.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { isMobile } from "react-device-detect"; -import AuthDesktop from "./AuthDesktop"; -import AuthMobile from "./AuthMobile"; - -interface AuthProps { - isAuth?: boolean; -} - -const Auth = ({ isAuth = false }: AuthProps) => { - const userName = "Full Name"; - - return ( - <> - {isMobile ? ( - - ) : ( - - )} - - ); -}; - -export default Auth; diff --git a/client/src/components/header/Auth/AuthDesktop.tsx b/client/src/components/header/Auth/AuthDesktop.tsx deleted file mode 100644 index edc485f..0000000 --- a/client/src/components/header/Auth/AuthDesktop.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import useModal from "../../../store/useModal"; -import Button from "../../Button"; -import AuthIcon from "../../icons/AuthIcon"; -import LoginModal from "../../modals/auth/LoginModal"; - -interface AuthProps { - isAuth: boolean; - userName: string; -} - -const AuthDesktop = ({ isAuth, userName }: AuthProps) => { - const { setModal } = useModal(); - - const handleOnLoginBtnClick = () => { - setModal(); - }; - - return ( -
- {isAuth ? ( - <> -
-

{userName}

-

- Company -

-
-
- {/* avatar */} - FN -
- - ) : ( -
- ); -}; - -export default AuthDesktop; diff --git a/client/src/components/header/Auth/AuthMobile.tsx b/client/src/components/header/Auth/AuthMobile.tsx deleted file mode 100644 index 8fb00ea..0000000 --- a/client/src/components/header/Auth/AuthMobile.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import Button from "../../Button"; -import AuthIcon from "../../icons/AuthIcon"; - -interface AuthProps { - isAuth: boolean; - userName: string; -} - -const AuthMobile = ({ isAuth, userName }: AuthProps) => { - return ( - <> - {isAuth ? ( -
-

{userName}

-
- {/* avatar */} -
-
- ) : ( -
-
- )} - - ); -}; - -export default AuthMobile; diff --git a/client/src/components/header/Header/DesktopHeader.tsx b/client/src/components/header/Header/DesktopHeader.tsx index 66ea59b..8d175e5 100644 --- a/client/src/components/header/Header/DesktopHeader.tsx +++ b/client/src/components/header/Header/DesktopHeader.tsx @@ -1,18 +1,15 @@ -import Auth from "../Auth/Auth"; + import Logo from "../../Logo"; import Navbar from "../Navbar/Navbar"; import Location from "../Location"; const DesktopHeader = () => (
-
+
-
- -
); diff --git a/client/src/components/header/Header/MobileHeader.tsx b/client/src/components/header/Header/MobileHeader.tsx index f5204af..dcad246 100644 --- a/client/src/components/header/Header/MobileHeader.tsx +++ b/client/src/components/header/Header/MobileHeader.tsx @@ -1,13 +1,11 @@ import { useState } from "react"; import LogoIcon from "../../icons/LogoIcon"; -import Auth from "../Auth/Auth"; import Navbar from "../Navbar/Navbar"; import Location from "../Location"; import BurgerMenuIcon from "../../icons/BurgerMenuIcon"; const MobileHeader = () => { const [isToggled, setIsToggled] = useState(false); - const isAuth = false; const handleOnToggleClick = () => { setIsToggled((prev) => !prev); @@ -31,16 +29,10 @@ const MobileHeader = () => {
- {isAuth && ( -
- -
- )}
- {!isAuth && }
); diff --git a/client/src/components/header/Navbar/NavbarTabDesktopBrochure.tsx b/client/src/components/header/Navbar/NavbarTabDesktopBrochure.tsx index f9473f9..0572141 100644 --- a/client/src/components/header/Navbar/NavbarTabDesktopBrochure.tsx +++ b/client/src/components/header/Navbar/NavbarTabDesktopBrochure.tsx @@ -25,7 +25,7 @@ function NavbarTabDesktopBrochure({ tab }: Props) { {isShowMenu && (
-
+

Rove Home Marasi Drive

@@ -47,7 +47,7 @@ function NavbarTabDesktopBrochure({ tab }: Props) { download > - Rove Amenties Brochure + Rove Amenities Brochure @@ -64,7 +64,7 @@ function NavbarTabDesktopBrochure({ tab }: Props) {
-
+

Rove Home Downtown

@@ -86,7 +86,7 @@ function NavbarTabDesktopBrochure({ tab }: Props) { download > - Rove Amenties Brochure + Rove Amenities Brochure diff --git a/client/src/components/icons/activities/CommunalDiningTablesIcon.tsx b/client/src/components/icons/activities/CommunalDiningTablesIcon.tsx deleted file mode 100644 index e4bf82a..0000000 --- a/client/src/components/icons/activities/CommunalDiningTablesIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -const CommunalDiningTablesIcon = () => { - return ( - - - - - ); -}; - -export default CommunalDiningTablesIcon; diff --git a/client/src/components/icons/activities/AmphitheatreIcon.tsx b/client/src/components/icons/amenities/AmphitheatreIcon.tsx similarity index 100% rename from client/src/components/icons/activities/AmphitheatreIcon.tsx rename to client/src/components/icons/amenities/AmphitheatreIcon.tsx diff --git a/client/src/components/icons/amenities/AquaCyclingIcon.tsx b/client/src/components/icons/amenities/AquaCyclingIcon.tsx new file mode 100644 index 0000000..b515feb --- /dev/null +++ b/client/src/components/icons/amenities/AquaCyclingIcon.tsx @@ -0,0 +1,80 @@ +function AquaCyclingIcon() { + return ( + + + + + + + + + + + + + + + + + + + + + ); +} + +export default AquaCyclingIcon; diff --git a/client/src/components/icons/amenities/ArcadeGamesIcon.tsx b/client/src/components/icons/amenities/ArcadeGamesIcon.tsx new file mode 100644 index 0000000..e7b7a89 --- /dev/null +++ b/client/src/components/icons/amenities/ArcadeGamesIcon.tsx @@ -0,0 +1,75 @@ +function ArcadeGamesIcon() { + return ( + + + + + + + + + + + + + ); +} + +export default ArcadeGamesIcon; diff --git a/client/src/components/icons/amenities/BBQTerraceIcon.tsx b/client/src/components/icons/amenities/BBQTerraceIcon.tsx new file mode 100644 index 0000000..9db1827 --- /dev/null +++ b/client/src/components/icons/amenities/BBQTerraceIcon.tsx @@ -0,0 +1,32 @@ +function BBQTerraceIcon() { + return ( + + + + + + + ); +} + +export default BBQTerraceIcon; diff --git a/client/src/components/icons/activities/BoulderingWallIcon.tsx b/client/src/components/icons/amenities/BoulderingWallIcon.tsx similarity index 100% rename from client/src/components/icons/activities/BoulderingWallIcon.tsx rename to client/src/components/icons/amenities/BoulderingWallIcon.tsx diff --git a/client/src/components/icons/activities/BurgerIcon.tsx b/client/src/components/icons/amenities/BurgerIcon.tsx similarity index 100% rename from client/src/components/icons/activities/BurgerIcon.tsx rename to client/src/components/icons/amenities/BurgerIcon.tsx diff --git a/client/src/components/icons/amenities/CabanasWithDaybedsIcon.tsx b/client/src/components/icons/amenities/CabanasWithDaybedsIcon.tsx new file mode 100644 index 0000000..685b5e2 --- /dev/null +++ b/client/src/components/icons/amenities/CabanasWithDaybedsIcon.tsx @@ -0,0 +1,52 @@ +function CabanasWithDaybedsIcon() { + return ( + + + + + + + + + + + + + ); +} + +export default CabanasWithDaybedsIcon; diff --git a/client/src/components/icons/activities/ChangingRoomsIcon.tsx b/client/src/components/icons/amenities/ChangingRoomsIcon.tsx similarity index 93% rename from client/src/components/icons/activities/ChangingRoomsIcon.tsx rename to client/src/components/icons/amenities/ChangingRoomsIcon.tsx index 0752193..a71d4db 100644 --- a/client/src/components/icons/activities/ChangingRoomsIcon.tsx +++ b/client/src/components/icons/amenities/ChangingRoomsIcon.tsx @@ -2,8 +2,6 @@ function ChangingRoomsIcon() { return ( diff --git a/client/src/components/icons/activities/ChessTablesIcon.tsx b/client/src/components/icons/amenities/ChessTablesIcon.tsx similarity index 100% rename from client/src/components/icons/activities/ChessTablesIcon.tsx rename to client/src/components/icons/amenities/ChessTablesIcon.tsx diff --git a/client/src/components/icons/activities/ClimbingRoomIcon.tsx b/client/src/components/icons/amenities/ClimbingRoomIcon.tsx similarity index 100% rename from client/src/components/icons/activities/ClimbingRoomIcon.tsx rename to client/src/components/icons/amenities/ClimbingRoomIcon.tsx diff --git a/client/src/components/icons/amenities/ClimbingWallIcon.tsx b/client/src/components/icons/amenities/ClimbingWallIcon.tsx new file mode 100644 index 0000000..a310eaa --- /dev/null +++ b/client/src/components/icons/amenities/ClimbingWallIcon.tsx @@ -0,0 +1,14 @@ +function ClimbingWallIcon() { + return ( + + + + ); +} + +export default ClimbingWallIcon; diff --git a/client/src/components/icons/amenities/CommunalDiningTablesIcon.tsx b/client/src/components/icons/amenities/CommunalDiningTablesIcon.tsx new file mode 100644 index 0000000..2112a67 --- /dev/null +++ b/client/src/components/icons/amenities/CommunalDiningTablesIcon.tsx @@ -0,0 +1,24 @@ +const CommunalDiningTablesIcon = () => { + return ( + + + + + + + ); +}; + +export default CommunalDiningTablesIcon; diff --git a/client/src/components/icons/amenities/ConvenienceStoreIcon.tsx b/client/src/components/icons/amenities/ConvenienceStoreIcon.tsx new file mode 100644 index 0000000..6dc38d2 --- /dev/null +++ b/client/src/components/icons/amenities/ConvenienceStoreIcon.tsx @@ -0,0 +1,29 @@ +function ConvenienceStoreIcon() { + return ( + + + + + + ); +} + +export default ConvenienceStoreIcon; diff --git a/client/src/components/icons/amenities/FirepitIcon.tsx b/client/src/components/icons/amenities/FirepitIcon.tsx new file mode 100644 index 0000000..fd9b44a --- /dev/null +++ b/client/src/components/icons/amenities/FirepitIcon.tsx @@ -0,0 +1,16 @@ +function FirepitIcon() { + return ( + + + + + ); +} + +export default FirepitIcon; diff --git a/client/src/components/icons/amenities/FullyEquippedGymIcon.tsx b/client/src/components/icons/amenities/FullyEquippedGymIcon.tsx new file mode 100644 index 0000000..2f79401 --- /dev/null +++ b/client/src/components/icons/amenities/FullyEquippedGymIcon.tsx @@ -0,0 +1,12 @@ +function FullyEquippedGymIcon() { + return ( + + + + ); +} + +export default FullyEquippedGymIcon; diff --git a/client/src/components/icons/amenities/GamingLoungeIcon.tsx b/client/src/components/icons/amenities/GamingLoungeIcon.tsx new file mode 100644 index 0000000..7c09340 --- /dev/null +++ b/client/src/components/icons/amenities/GamingLoungeIcon.tsx @@ -0,0 +1,28 @@ +function GamingLoungeIcon() { + return ( + + + + + + + + ); +} + +export default GamingLoungeIcon; diff --git a/client/src/components/icons/amenities/GuestRoomsIcon.tsx b/client/src/components/icons/amenities/GuestRoomsIcon.tsx new file mode 100644 index 0000000..1bc7c72 --- /dev/null +++ b/client/src/components/icons/amenities/GuestRoomsIcon.tsx @@ -0,0 +1,15 @@ +function GuestRoomsIcon() { + return ( + + + + ); +} + +export default GuestRoomsIcon; diff --git a/client/src/components/icons/amenities/HammockMovieLoungeIcon.tsx b/client/src/components/icons/amenities/HammockMovieLoungeIcon.tsx new file mode 100644 index 0000000..6de54ca --- /dev/null +++ b/client/src/components/icons/amenities/HammockMovieLoungeIcon.tsx @@ -0,0 +1,12 @@ +function HammockMovieLoungeIcon() { + return ( + + + + ); +} + +export default HammockMovieLoungeIcon; diff --git a/client/src/components/icons/activities/IndoorLapPoolIcon.tsx b/client/src/components/icons/amenities/IndoorLapPoolIcon.tsx similarity index 100% rename from client/src/components/icons/activities/IndoorLapPoolIcon.tsx rename to client/src/components/icons/amenities/IndoorLapPoolIcon.tsx diff --git a/client/src/components/icons/amenities/IndoorLoungeIcon.tsx b/client/src/components/icons/amenities/IndoorLoungeIcon.tsx new file mode 100644 index 0000000..65be6bf --- /dev/null +++ b/client/src/components/icons/amenities/IndoorLoungeIcon.tsx @@ -0,0 +1,20 @@ +function IndoorLoungeIcon() { + return ( + + + + + + ); +} + +export default IndoorLoungeIcon; diff --git a/client/src/components/icons/amenities/IntegratedLapPoolIcon.tsx b/client/src/components/icons/amenities/IntegratedLapPoolIcon.tsx new file mode 100644 index 0000000..e68a830 --- /dev/null +++ b/client/src/components/icons/amenities/IntegratedLapPoolIcon.tsx @@ -0,0 +1,16 @@ +function IntegratedLapPoolIcon() { + return ( + + + + + ); +} + +export default IntegratedLapPoolIcon; diff --git a/client/src/components/icons/amenities/JacuzziIcon.tsx b/client/src/components/icons/amenities/JacuzziIcon.tsx new file mode 100644 index 0000000..8ba3107 --- /dev/null +++ b/client/src/components/icons/amenities/JacuzziIcon.tsx @@ -0,0 +1,35 @@ +function JacuzziIcon() { + return ( + + + + + + + ); +} + +export default JacuzziIcon; diff --git a/client/src/components/icons/amenities/KaraokeRoomIcon.tsx b/client/src/components/icons/amenities/KaraokeRoomIcon.tsx new file mode 100644 index 0000000..afa8fa0 --- /dev/null +++ b/client/src/components/icons/amenities/KaraokeRoomIcon.tsx @@ -0,0 +1,16 @@ +function KaraokeRoomIcon() { + return ( + + + + + ); +} + +export default KaraokeRoomIcon; diff --git a/client/src/components/icons/amenities/LoungingSpaceIcon.tsx b/client/src/components/icons/amenities/LoungingSpaceIcon.tsx new file mode 100644 index 0000000..9a92313 --- /dev/null +++ b/client/src/components/icons/amenities/LoungingSpaceIcon.tsx @@ -0,0 +1,20 @@ +function LoungingSpaceIcon() { + return ( + + + + + ); +} + +export default LoungingSpaceIcon; diff --git a/client/src/components/icons/activities/LushLandscapeIcon.tsx b/client/src/components/icons/amenities/LushLandscapeIcon.tsx similarity index 100% rename from client/src/components/icons/activities/LushLandscapeIcon.tsx rename to client/src/components/icons/amenities/LushLandscapeIcon.tsx diff --git a/client/src/components/icons/amenities/MonkeyBarsIcon.tsx b/client/src/components/icons/amenities/MonkeyBarsIcon.tsx new file mode 100644 index 0000000..0e1a286 --- /dev/null +++ b/client/src/components/icons/amenities/MonkeyBarsIcon.tsx @@ -0,0 +1,12 @@ +function MonkeyBarsIcon() { + return ( + + + + ); +} + +export default MonkeyBarsIcon; diff --git a/client/src/components/icons/amenities/MultiBallInteractiveGamingIcon.tsx b/client/src/components/icons/amenities/MultiBallInteractiveGamingIcon.tsx new file mode 100644 index 0000000..65d3072 --- /dev/null +++ b/client/src/components/icons/amenities/MultiBallInteractiveGamingIcon.tsx @@ -0,0 +1,233 @@ +function MultiBallInteractiveGamingIcon() { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +export default MultiBallInteractiveGamingIcon; diff --git a/client/src/components/icons/activities/MultiPurposeCourtIcon.tsx b/client/src/components/icons/amenities/MultiPurposeCourtIcon.tsx similarity index 100% rename from client/src/components/icons/activities/MultiPurposeCourtIcon.tsx rename to client/src/components/icons/amenities/MultiPurposeCourtIcon.tsx diff --git a/client/src/components/icons/amenities/MultiPurposeRoomWithKitchenIcon.tsx b/client/src/components/icons/amenities/MultiPurposeRoomWithKitchenIcon.tsx new file mode 100644 index 0000000..18a4c87 --- /dev/null +++ b/client/src/components/icons/amenities/MultiPurposeRoomWithKitchenIcon.tsx @@ -0,0 +1,15 @@ +function MultiPurposeRoomWithKitchenIcon() { + return ( + + + + ); +} + +export default MultiPurposeRoomWithKitchenIcon; diff --git a/client/src/components/icons/amenities/OpenAirGymIcon.tsx b/client/src/components/icons/amenities/OpenAirGymIcon.tsx new file mode 100644 index 0000000..8840b90 --- /dev/null +++ b/client/src/components/icons/amenities/OpenAirGymIcon.tsx @@ -0,0 +1,32 @@ +function OpenAirGymIcon() { + return ( + + + + + + + + + ); +} + +export default OpenAirGymIcon; diff --git a/client/src/components/icons/activities/OutdoorCinemaIcon.tsx b/client/src/components/icons/amenities/OutdoorCinemaIcon.tsx similarity index 100% rename from client/src/components/icons/activities/OutdoorCinemaIcon.tsx rename to client/src/components/icons/amenities/OutdoorCinemaIcon.tsx diff --git a/client/src/components/icons/activities/OutdoorCoworkingSpaceIcon.tsx b/client/src/components/icons/amenities/OutdoorCoworkingSpaceIcon.tsx similarity index 100% rename from client/src/components/icons/activities/OutdoorCoworkingSpaceIcon.tsx rename to client/src/components/icons/amenities/OutdoorCoworkingSpaceIcon.tsx diff --git a/client/src/components/icons/amenities/OutdoorGamingTerraceIcon.tsx b/client/src/components/icons/amenities/OutdoorGamingTerraceIcon.tsx new file mode 100644 index 0000000..528bcd8 --- /dev/null +++ b/client/src/components/icons/amenities/OutdoorGamingTerraceIcon.tsx @@ -0,0 +1,48 @@ +function OutdoorGamingTerraceIcon() { + return ( + + + + + + + + + + + + + ); +} + +export default OutdoorGamingTerraceIcon; diff --git a/client/src/components/icons/amenities/OutdoorKitchenIcon.tsx b/client/src/components/icons/amenities/OutdoorKitchenIcon.tsx new file mode 100644 index 0000000..e584ad5 --- /dev/null +++ b/client/src/components/icons/amenities/OutdoorKitchenIcon.tsx @@ -0,0 +1,28 @@ +function OutdoorKitchenIcon() { + return ( + + + + + + + ); +} + +export default OutdoorKitchenIcon; diff --git a/client/src/components/icons/activities/PadelPongIcon.tsx b/client/src/components/icons/amenities/PadelPongIcon.tsx similarity index 100% rename from client/src/components/icons/activities/PadelPongIcon.tsx rename to client/src/components/icons/amenities/PadelPongIcon.tsx diff --git a/client/src/components/icons/activities/PingPongInATableIcon.tsx b/client/src/components/icons/amenities/PingPongInATableIcon.tsx similarity index 100% rename from client/src/components/icons/activities/PingPongInATableIcon.tsx rename to client/src/components/icons/amenities/PingPongInATableIcon.tsx diff --git a/client/src/components/icons/amenities/PlaystationDeckIcon.tsx b/client/src/components/icons/amenities/PlaystationDeckIcon.tsx new file mode 100644 index 0000000..8277f3f --- /dev/null +++ b/client/src/components/icons/amenities/PlaystationDeckIcon.tsx @@ -0,0 +1,24 @@ +function PlaystationDeckIcon() { + return ( + + + + + + + ); +} + +export default PlaystationDeckIcon; diff --git a/client/src/components/icons/amenities/PrivateMeetingRoomsIcon.tsx b/client/src/components/icons/amenities/PrivateMeetingRoomsIcon.tsx new file mode 100644 index 0000000..44e86f8 --- /dev/null +++ b/client/src/components/icons/amenities/PrivateMeetingRoomsIcon.tsx @@ -0,0 +1,19 @@ +function PrivateMeetingRoomsIcon() { + return ( + + + + + ); +} + +export default PrivateMeetingRoomsIcon; diff --git a/client/src/components/icons/amenities/RooftopGardenIcon.tsx b/client/src/components/icons/amenities/RooftopGardenIcon.tsx new file mode 100644 index 0000000..57843a3 --- /dev/null +++ b/client/src/components/icons/amenities/RooftopGardenIcon.tsx @@ -0,0 +1,64 @@ +function RooftopGardenIcon() { + return ( + + + + + + + + + + + + + + + + + ); +} + +export default RooftopGardenIcon; diff --git a/client/src/components/icons/amenities/RoveBeverageTruckIcon.tsx b/client/src/components/icons/amenities/RoveBeverageTruckIcon.tsx new file mode 100644 index 0000000..bd4a214 --- /dev/null +++ b/client/src/components/icons/amenities/RoveBeverageTruckIcon.tsx @@ -0,0 +1,24 @@ +function RoveBeverageTruckIcon() { + return ( + + + + + + + ); +} + +export default RoveBeverageTruckIcon; diff --git a/client/src/components/icons/activities/RunningWheelIcon.tsx b/client/src/components/icons/amenities/RunningWheelIcon.tsx similarity index 100% rename from client/src/components/icons/activities/RunningWheelIcon.tsx rename to client/src/components/icons/amenities/RunningWheelIcon.tsx diff --git a/client/src/components/icons/amenities/SoundproofMeetingPodsIcon.tsx b/client/src/components/icons/amenities/SoundproofMeetingPodsIcon.tsx new file mode 100644 index 0000000..e16914c --- /dev/null +++ b/client/src/components/icons/amenities/SoundproofMeetingPodsIcon.tsx @@ -0,0 +1,27 @@ +function SoundproofMeetingPodsIcon() { + return ( + + + + + + + ); +} + +export default SoundproofMeetingPodsIcon; diff --git a/client/src/components/icons/amenities/StargazingPointIcon.tsx b/client/src/components/icons/amenities/StargazingPointIcon.tsx new file mode 100644 index 0000000..c0a4da9 --- /dev/null +++ b/client/src/components/icons/amenities/StargazingPointIcon.tsx @@ -0,0 +1,65 @@ +interface Props { + className?: string; +} + +function StargazingPointIcon({ className = "" }: Props) { + return ( + + + + + + + + + + + + + + + ); +} + +export default StargazingPointIcon; diff --git a/client/src/components/icons/activities/SunLoungingDeckIcon.tsx b/client/src/components/icons/amenities/SunLoungingDeckIcon.tsx similarity index 100% rename from client/src/components/icons/activities/SunLoungingDeckIcon.tsx rename to client/src/components/icons/amenities/SunLoungingDeckIcon.tsx diff --git a/client/src/components/icons/amenities/SunkenSeatingIcon.tsx b/client/src/components/icons/amenities/SunkenSeatingIcon.tsx new file mode 100644 index 0000000..33e61a8 --- /dev/null +++ b/client/src/components/icons/amenities/SunkenSeatingIcon.tsx @@ -0,0 +1,28 @@ +function SunkenSeatingIcon() { + return ( + + + + + + + + ); +} + +export default SunkenSeatingIcon; diff --git a/client/src/components/icons/activities/SuspendedLoungingNetsIcon.tsx b/client/src/components/icons/amenities/SuspendedLoungingNetsIcon.tsx similarity index 100% rename from client/src/components/icons/activities/SuspendedLoungingNetsIcon.tsx rename to client/src/components/icons/amenities/SuspendedLoungingNetsIcon.tsx diff --git a/client/src/components/icons/amenities/UrbanBeachPoolIcon.tsx b/client/src/components/icons/amenities/UrbanBeachPoolIcon.tsx new file mode 100644 index 0000000..0e318f6 --- /dev/null +++ b/client/src/components/icons/amenities/UrbanBeachPoolIcon.tsx @@ -0,0 +1,78 @@ +function UrbanBeachPoolIcon() { + return ( + + + + + + + + + + + + + + + + + ); +} + +export default UrbanBeachPoolIcon; diff --git a/client/src/components/icons/amenities/ViewingDeckWithSwingsIcon.tsx b/client/src/components/icons/amenities/ViewingDeckWithSwingsIcon.tsx new file mode 100644 index 0000000..8ad8887 --- /dev/null +++ b/client/src/components/icons/amenities/ViewingDeckWithSwingsIcon.tsx @@ -0,0 +1,36 @@ +function ViewingDeckWithSwingsIcon() { + return ( + + + + + + + + + ); +} + +export default ViewingDeckWithSwingsIcon; diff --git a/client/src/components/icons/activities/WellnessFeaturesIcon.tsx b/client/src/components/icons/amenities/WellnessFeaturesIcon.tsx similarity index 100% rename from client/src/components/icons/activities/WellnessFeaturesIcon.tsx rename to client/src/components/icons/amenities/WellnessFeaturesIcon.tsx diff --git a/client/src/components/icons/amenities/YogaLoungeIcon.tsx b/client/src/components/icons/amenities/YogaLoungeIcon.tsx new file mode 100644 index 0000000..da50e8f --- /dev/null +++ b/client/src/components/icons/amenities/YogaLoungeIcon.tsx @@ -0,0 +1,15 @@ +function YogaLoungeIcon() { + return ( + + + + ); +} + +export default YogaLoungeIcon; diff --git a/client/src/components/masterplanPage/map/Marker.tsx b/client/src/components/masterplanPage/map/Marker.tsx index 1485f7b..fbe8f80 100644 --- a/client/src/components/masterplanPage/map/Marker.tsx +++ b/client/src/components/masterplanPage/map/Marker.tsx @@ -4,7 +4,6 @@ import { useTransformEffect } from "react-zoom-pan-pinch"; import { markers } from "../../../consts/markers"; import useMarker from "../../../store/useMarker"; import { useNavigate } from "react-router-dom"; -import { isMobile } from "react-device-detect"; const Marker = (props: MarkerComponentProps) => { const { setHoveredMarker, hoveredMarker } = useMarker(); @@ -26,7 +25,7 @@ const Marker = (props: MarkerComponentProps) => { const handleOnClick = () => { if (!currentMarker || currentMarker?.isDisabled) return; navigate( - `../masterplan/${currentMarker?.itemNumber}${isMobile ? "/wing" : ""}` + `../masterplan/${currentMarker?.itemNumber}` ); setHoveredMarker(null); }; diff --git a/client/src/components/masterplanPage/map/ZoomControlls.tsx b/client/src/components/masterplanPage/map/ZoomControlls.tsx index 28012be..e3d524d 100644 --- a/client/src/components/masterplanPage/map/ZoomControlls.tsx +++ b/client/src/components/masterplanPage/map/ZoomControlls.tsx @@ -1,7 +1,7 @@ import { useControls } from "react-zoom-pan-pinch"; -import Button from "../../Button"; import UnzoomIcon from "../../icons/UnzoomIcon"; import ZoomIcon from "../../icons/ZoomIcon"; +import Button3 from "../../Button3"; const ZoomControlls = () => { const { zoomIn, zoomOut } = useControls(); @@ -15,16 +15,18 @@ const ZoomControlls = () => { return (
-
diff --git a/client/src/components/modals/AboutComplexModal.tsx b/client/src/components/modals/AboutComplexModal.tsx index 72e9559..99a30f2 100644 --- a/client/src/components/modals/AboutComplexModal.tsx +++ b/client/src/components/modals/AboutComplexModal.tsx @@ -3,14 +3,14 @@ import { useNavigate } from "react-router-dom"; import { apartmentLayouts } from "../../consts/apartmentsLayout"; import useModal from "../../store/useModal"; import { ISwitchLabel } from "../../types/switchLabel"; -import Button from "../Button"; import SwitchToggle from "../SwitchToggle"; import HeartIcon from "../icons/Heart"; import LeftArrowSliderIcon from "../icons/LeftArrowSliderIcon"; import { IAparmentRes } from "../../types/apartmentsRes"; import { apartmentsWithoutVirtualTour } from "../../consts/apartmentsWithoutVirtualTour"; import { apartmentLayoutImages } from "../../consts/apartmentLayoutsImages"; -import useFavorites from "../../store/useFavorites"; +// import useFavorites from "../../store/useFavorites"; +import Button3 from "../Button3"; interface AboutComplexModalProps { apartment: IAparmentRes; @@ -30,7 +30,7 @@ const AboutComplexModal = ({ (aprt) => aprt.type === apartment.Unit_Type || aprt.type === apartmentType ); const [isFavorite, setIsFavorite] = useState(false); - const { setFavorites } = useFavorites(); + // const { setFavorites } = useFavorites(); const apartmentLayoutImage = apartmentLayoutImages[apartmentType]; @@ -56,37 +56,37 @@ const AboutComplexModal = ({ navigate(`../virtual-tour/${apartment.id}`); }; - const handleOnFavoriteClick = ( - e: React.MouseEvent - ) => { - e.stopPropagation(); - const favorites = localStorage.getItem("Favorites"); + // const handleOnFavoriteClick = ( + // e: React.MouseEvent + // ) => { + // e.stopPropagation(); + // const favorites = localStorage.getItem("Favorites"); - if (!favorites) { - setIsFavorite(true); - const updatedFavorites = JSON.stringify([apartment]); + // if (!favorites) { + // setIsFavorite(true); + // const updatedFavorites = JSON.stringify([apartment]); - localStorage.setItem("Favorites", updatedFavorites); - } else { - const _favorites = JSON.parse(favorites) as IAparmentRes[]; + // localStorage.setItem("Favorites", updatedFavorites); + // } else { + // const _favorites = JSON.parse(favorites) as IAparmentRes[]; - if (_favorites.some((apart) => apart.id === apartment.id)) { - setIsFavorite(false); - const updatedFavorites = [..._favorites].filter( - (apart) => apart.id !== apartment.id - ); - const convertedFavorites = JSON.stringify(updatedFavorites); - setFavorites(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } else { - setIsFavorite(true); - const updatedFavorites = [..._favorites, apartment]; - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } - } - }; + // if (_favorites.some((apart) => apart.id === apartment.id)) { + // setIsFavorite(false); + // const updatedFavorites = [..._favorites].filter( + // (apart) => apart.id !== apartment.id + // ); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // setFavorites(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } else { + // setIsFavorite(true); + // const updatedFavorites = [..._favorites, apartment]; + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } + // } + // }; useEffect(() => { const favorites = localStorage.getItem("Favorites"); @@ -101,13 +101,13 @@ const AboutComplexModal = ({ return (
-
+
{/* Button pannel */} -
-
-
{/* Layout */} -
+
{/* Sidebar */} -
-
-
+
+
+

View from window

-
-
+
+

Parameters

@@ -191,24 +190,23 @@ const AboutComplexModal = ({
-
+

Unavailable {/* AED {formatNumber(1668888, ",", 3, 1)} */}

-
diff --git a/client/src/components/modals/HelpModal.tsx b/client/src/components/modals/HelpModal.tsx index 92f4fe4..724bc87 100644 --- a/client/src/components/modals/HelpModal.tsx +++ b/client/src/components/modals/HelpModal.tsx @@ -1,5 +1,5 @@ import useModal from "../../store/useModal"; -import Button from "../Button"; +import Button3 from "../Button3"; import CrossIcon from "../icons/CrossIcon"; import LeftArrowSliderIcon from "../icons/LeftArrowSliderIcon"; import RightArrowSliderIcon from "../icons/RightArrowSliderIcon"; @@ -14,14 +14,14 @@ const HelpModal = () => {
-

+

Tips for working

-
{ className="rounded-2xl" />
-

1. Workspace

+

1. Workspace

For more comfortable work with the general plan, size it to the full screen. @@ -38,9 +38,9 @@ const HelpModal = () => {

-
diff --git a/client/src/components/modals/MasterplanFilters.tsx b/client/src/components/modals/MasterplanFilters.tsx index 683994b..40a6a34 100644 --- a/client/src/components/modals/MasterplanFilters.tsx +++ b/client/src/components/modals/MasterplanFilters.tsx @@ -1,5 +1,4 @@ import useModal from "../../store/useModal"; -import Button from "../Button"; import CrossIcon from "../icons/CrossIcon"; import ResetIcon from "../icons/ResetIcon"; import Checkbox from "../Checkbox"; @@ -11,6 +10,7 @@ import { initialViewCheckboxes, } from "../../consts/initialMasterplanFilters"; import useMasterplanFilters from "../../store/useMasterplanFilters"; +import Button3 from "../Button3"; const MasterplanFilters = () => { const { setModal } = useModal(); @@ -75,17 +75,16 @@ const MasterplanFilters = () => { return (
-
+
-

Filters

-
-
+

Apartment type

{apartmentTypeCheckboxes.map((checkbox) => ( @@ -97,10 +96,10 @@ const MasterplanFilters = () => { ))}
-
+
{multirangeSliders.map((slider) => (
-
+

{slider.title}

{slider.unit}

@@ -111,7 +110,7 @@ const MasterplanFilters = () => {
))}
-
+

View

{viewCheckboxes.map((checkbox) => ( @@ -125,13 +124,10 @@ const MasterplanFilters = () => {
-
-
diff --git a/client/src/components/modals/NavbarModal.tsx b/client/src/components/modals/NavbarModal.tsx index e2f83dd..2514997 100644 --- a/client/src/components/modals/NavbarModal.tsx +++ b/client/src/components/modals/NavbarModal.tsx @@ -74,7 +74,7 @@ function NavbarModal() { href="/files/marasi-drive/ROVE_AMENITIES_BROCHURE.pdf" className="flex items-center justify-between px-3 py-2 text-xs font-semibold bg-white rounded-lg" > -

Rove Amenties Brochure

+

Rove Amenities Brochure

-

Rove Amenties Brochure

+

Rove Amenities Brochure

{
-

+

Apartment purchase enquiry

-
-
+

1 bedroom, 609 Sqft{" "} @@ -51,17 +51,17 @@ const SendEnquiryModal = () => {

1 bedroom, 609 Sqft

-
+
-

+

East Wing

-

+

Floor 11

-

+

№ 213

@@ -83,19 +83,16 @@ const SendEnquiryModal = () => {
-
-

By clicking on the “Send” button, you accept the privacy policy diff --git a/client/src/components/modals/SuccessSentEnquiry.tsx b/client/src/components/modals/SuccessSentEnquiry.tsx index 91b9733..dc10db7 100644 --- a/client/src/components/modals/SuccessSentEnquiry.tsx +++ b/client/src/components/modals/SuccessSentEnquiry.tsx @@ -1,5 +1,5 @@ import useModal from "../../store/useModal"; -import Button from "../Button"; +import Button3 from "../Button3"; import Logo from "../Logo"; import CrossIcon from "../icons/CrossIcon"; @@ -18,8 +18,8 @@ const SuccessSentEnquiry = () => { Thank you

for your enquiry!

-
-
+
favoriteUnit.id === unit.id)) { setFavoriteUnits([...favoriteUnits, unit]); } else { - setFavoriteUnits( - favoriteUnits.filter((favoriteUnit) => favoriteUnit.id !== unit.id) - ); + setFavoriteUnits(favoriteUnits.filter((favoriteUnit) => favoriteUnit.id !== unit.id)); } } @@ -204,25 +202,16 @@ function UnitModal({ unit, type }: Props) { }, []); return ( -
+
-
@@ -242,9 +231,7 @@ function UnitModal({ unit, type }: Props) { className="w-10 h-10 flex items-center justify-center border border-[#E2E2DC] rounded-full bg-[#FFFFFF] bg-opacity-80 hover:text-[#0D1922] hover:bg-opacity-100 hover:border-[#00BED7] transition-all" onClick={() => addOrRemoveFromFavorites(unit)} > - {favoriteUnits.some( - (favoriteUnit) => favoriteUnit.id === unit.id - ) ? ( + {favoriteUnits.some((favoriteUnit) => favoriteUnit.id === unit.id) ? ( ) : ( @@ -254,11 +241,7 @@ function UnitModal({ unit, type }: Props) {
- +
{/*
@@ -373,10 +353,7 @@ function UnitModal({ unit, type }: Props) {

- { - unitTypes.find((unitType) => unitType.type === type) - ?.title - } + {unitTypes.find((unitType) => unitType.type === type)?.title}

{unitTypes.find((unitType) => unitType.type === type)?.desc} @@ -384,24 +361,16 @@ function UnitModal({ unit, type }: Props) {

- { - unitTypes.find((unitType) => unitType.type === type) - ?.texts[0] - } + {unitTypes.find((unitType) => unitType.type === type)?.texts[0]}

- { - unitTypes.find((unitType) => unitType.type === type) - ?.texts[1] - } + {unitTypes.find((unitType) => unitType.type === type)?.texts[1]}

- Up to{" "} - {unitTypes.find((unitType) => unitType.type === type)?.sqft}{" "} - Sqft + Up to {unitTypes.find((unitType) => unitType.type === type)?.sqft} Sqft

{unit.unitPrice && ( @@ -419,10 +388,7 @@ function UnitModal({ unit, type }: Props) {

unitType.type === type) - ?.imageDesc - } + src={unitTypes.find((unitType) => unitType.type === type)?.imageDesc} alt="" className="lg:max-h-[644px] sm:h-full rounded-2xl pointer-events-none object-cover max-sm:aspect-square" /> diff --git a/client/src/components/modals/UnitModalForSearchPage.tsx b/client/src/components/modals/UnitModalForSearchPage.tsx index 2f224bc..2d470fa 100644 --- a/client/src/components/modals/UnitModalForSearchPage.tsx +++ b/client/src/components/modals/UnitModalForSearchPage.tsx @@ -433,7 +433,6 @@ /* eslint-disable react-hooks/exhaustive-deps */ import useModal from "../../store/useModal"; import IUnit from "../../types/IUnit"; -import Button from "../Button"; import ArrowLeftIcon from "../icons/ArrowLeftIcon"; import BookingIcon from "../icons/BookingIcon"; import HeartIcon from "../icons/HeartIcon"; @@ -444,6 +443,7 @@ import { useEffect } from "react"; import useFavoritesStore from "../../store/useFavoritesStore"; import HeartFilledIcon from "../icons/HeartFilledIcon"; import ShareIcon from "../icons/ShareIcon"; +import Button3 from "../Button3"; interface Props { unit: IUnit; @@ -617,9 +617,7 @@ function UnitModalForSearchPage({ unit, type }: Props) { if (!favoriteUnits.some((favoriteUnit) => favoriteUnit.id === unit.id)) { setFavoriteUnits([...favoriteUnits, unit]); } else { - setFavoriteUnits( - favoriteUnits.filter((favoriteUnit) => favoriteUnit.id !== unit.id) - ); + setFavoriteUnits(favoriteUnits.filter((favoriteUnit) => favoriteUnit.id !== unit.id)); } } @@ -645,16 +643,9 @@ function UnitModalForSearchPage({ unit, type }: Props) {
-
@@ -674,9 +665,7 @@ function UnitModalForSearchPage({ unit, type }: Props) { className="w-10 h-10 flex items-center justify-center border border-[#E2E2DC] rounded-full bg-[#FFFFFF] bg-opacity-80 hover:text-[#0D1922] hover:bg-opacity-100 hover:border-[#00BED7] transition-all" onClick={() => addOrRemoveFromFavorites(unit)} > - {favoriteUnits.some( - (favoriteUnit) => favoriteUnit.id === unit.id - ) ? ( + {favoriteUnits.some((favoriteUnit) => favoriteUnit.id === unit.id) ? ( ) : ( @@ -686,11 +675,7 @@ function UnitModalForSearchPage({ unit, type }: Props) {
- +
{/*
@@ -805,10 +788,7 @@ function UnitModalForSearchPage({ unit, type }: Props) {

- { - unitTypes.find((unitType) => unitType.type === type) - ?.title - } + {unitTypes.find((unitType) => unitType.type === type)?.title}

{unitTypes.find((unitType) => unitType.type === type)?.desc} @@ -816,24 +796,16 @@ function UnitModalForSearchPage({ unit, type }: Props) {

- { - unitTypes.find((unitType) => unitType.type === type) - ?.texts[0] - } + {unitTypes.find((unitType) => unitType.type === type)?.texts[0]}

- { - unitTypes.find((unitType) => unitType.type === type) - ?.texts[1] - } + {unitTypes.find((unitType) => unitType.type === type)?.texts[1]}

- Up to{" "} - {unitTypes.find((unitType) => unitType.type === type)?.sqft}{" "} - Sqft + Up to {unitTypes.find((unitType) => unitType.type === type)?.sqft} Sqft

{unit.unitPrice && ( @@ -851,10 +823,7 @@ function UnitModalForSearchPage({ unit, type }: Props) {

unitType.type === type) - ?.imageDesc - } + src={unitTypes.find((unitType) => unitType.type === type)?.imageDesc} alt="" className="lg:max-h-[644px] sm:h-full rounded-2xl pointer-events-none object-cover max-sm:aspect-square" /> diff --git a/client/src/components/modals/auth/ContinueLoginModal.tsx b/client/src/components/modals/auth/ContinueLoginModal.tsx deleted file mode 100644 index aaa2cd1..0000000 --- a/client/src/components/modals/auth/ContinueLoginModal.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { createRef, useLayoutEffect, useState, RefObject } from "react"; -import useModal from "../../../store/useModal"; -import Button from "../../Button"; -import CrossIcon from "../../icons/CrossIcon"; -import RegistrationModal from "./RegistrationModal"; - -const ContinueLoginModal = () => { - const { setModal } = useModal(); - const [codeRefs, setCodeRefs] = useState[]>([]); - - const codeLength = 6; - - useLayoutEffect(() => { - const refs = Array.from({ length: codeLength }).map(() => - createRef() - ); - setCodeRefs(refs); - }, []); - - const handleOnCloseClick = () => { - setModal(null); - }; - - const handleOnCancelClick = () => { - setModal(); - }; - - const handleOnCodeInput = ( - refIndex: number, - e: React.ChangeEvent - ) => { - const char = e.currentTarget.value; - const isNotEmpty = char !== ""; - const isCountOne = char.length === 1; - if (refIndex < codeLength && isNotEmpty && isCountOne) { - codeRefs[refIndex + 1].current?.focus(); - } - }; - - return ( -
-
-
-

- Enter the code -

- -
-
- We`ve sent the code to

number

-
-
- {codeRefs.map((ref, index) => ( -
- handleOnCodeInput(index, e)} - ref={ref} - type="number" - className="input_number outline-transparent aspect-square w-full text-center" - /> -
- ))} -

- Resend code -

- -
-
-

- By clicking on the button, you accept the{" "} - - privacy policy - {" "} - and consent to the processing of personal data. -

-
-
-
- ); -}; - -export default ContinueLoginModal; diff --git a/client/src/components/modals/auth/ContinueRegistrationModal.tsx b/client/src/components/modals/auth/ContinueRegistrationModal.tsx deleted file mode 100644 index 4b5c581..0000000 --- a/client/src/components/modals/auth/ContinueRegistrationModal.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { createRef, useLayoutEffect, useState, RefObject } from "react"; -import useModal from "../../../store/useModal"; -import Button from "../../Button"; -import CrossIcon from "../../icons/CrossIcon"; -import RegistrationModal from "./RegistrationModal"; - -const ContinueRegistrationModal = () => { - const { setModal } = useModal(); - const [codeRefs, setCodeRefs] = useState[]>([]); - - const codeLength = 6; - - useLayoutEffect(() => { - const refs = Array.from({ length: codeLength }).map(() => - createRef() - ); - setCodeRefs(refs); - }, []); - - const handleOnCloseClick = () => { - setModal(null); - }; - - const handleOnCancelClick = () => { - setModal(); - }; - - const handleOnCodeInput = ( - refIndex: number, - e: React.ChangeEvent - ) => { - const char = e.currentTarget.value; - const isNotEmpty = char !== ""; - const isCountOne = char.length === 1; - if (refIndex < codeLength && isNotEmpty && isCountOne) { - codeRefs[refIndex + 1].current?.focus(); - } - }; - - return ( -
- ); -}; - -export default ContinueRegistrationModal; diff --git a/client/src/components/modals/auth/LoginModal.tsx b/client/src/components/modals/auth/LoginModal.tsx deleted file mode 100644 index 02559bf..0000000 --- a/client/src/components/modals/auth/LoginModal.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import useModal from "../../../store/useModal"; -import Button from "../../Button"; -import MasterSelector from "../../MasterSelector"; -import CrossIcon from "../../icons/CrossIcon"; -import ContinueLoginModal from "./ContinueLoginModal"; -import RegistrationModal from "./RegistrationModal"; - -const LoginModal = () => { - const { setModal } = useModal(); - - const handleOnCloseClick = () => { - setModal(null); - }; - - const handleOnCreateAccoutClick = () => { - setModal(); - }; - - const handleOnLoginClick = () => { - setModal(); - }; - - return ( -
-
-
-

- Login -

- -
-
- -
-
- -
- Don`t have an account?{" "} -

- Create one -

-
-
-
-
- ); -}; - -export default LoginModal; diff --git a/client/src/components/modals/auth/RegistrationModal.tsx b/client/src/components/modals/auth/RegistrationModal.tsx deleted file mode 100644 index b7bfc61..0000000 --- a/client/src/components/modals/auth/RegistrationModal.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import useModal from "../../../store/useModal"; -import Button from "../../Button"; -import MasterInput from "../../MasterInput"; -import MasterSelector from "../../MasterSelector"; -import CrossIcon from "../../icons/CrossIcon"; -import ContinueRegistrationModal from "./ContinueRegistrationModal"; -import LoginModal from "./LoginModal"; - -const RegistrationModal = () => { - const { setModal } = useModal(); - - const handleOnCloseClick = () => { - setModal(null); - }; - - const handleOnLoginClick = () => { - setModal(); - }; - - const handleOnContinueClick = () => { - setModal(); - }; - - return ( -
-
-
-

- Create account -

- -
-
- - - - -
-
-
- -
- Already have an account?{" "} -

- login -

-
-
-

- By clicking on the button, you accept the and consent to the{" "} - - privacy policy{" "} - {" "} - processing of personal data. -

-
-
-
- ); -}; - -export default RegistrationModal; diff --git a/client/src/components/modals/mobile/MasterplanFiltersModal.tsx b/client/src/components/modals/mobile/MasterplanFiltersModal.tsx index 4a42226..72984ac 100644 --- a/client/src/components/modals/mobile/MasterplanFiltersModal.tsx +++ b/client/src/components/modals/mobile/MasterplanFiltersModal.tsx @@ -1,6 +1,5 @@ import { useContext, useState } from "react"; import useModal from "../../../store/useModal"; -import Button from "../../Button"; import CrossIcon from "../../icons/CrossIcon"; import { MobileModalWrapperContext } from "./MobileModalWrapper"; import Checkbox from "../../Checkbox"; @@ -13,6 +12,7 @@ import { initialViewCheckboxes, } from "../../../consts/initialMasterplanFilters"; import { ICheckbox } from "../../../types/checkbox"; +import Button3 from "../../Button3"; const MasterplanFiltersModal = () => { const { setModal } = useModal(); @@ -98,11 +98,11 @@ const MasterplanFiltersModal = () => {

Filters

-
@@ -118,10 +118,10 @@ const MasterplanFiltersModal = () => { ))}
-
+
{multirangeSliders.map((slider) => (
-
+

{slider.title}

{slider.unit}

@@ -146,19 +146,20 @@ const MasterplanFiltersModal = () => {

195 apartments found

-
-
); }; diff --git a/client/src/components/modals/mobile/SearchFiltersModal.tsx b/client/src/components/modals/mobile/SearchFiltersModal.tsx index 5630910..e67e9b2 100644 --- a/client/src/components/modals/mobile/SearchFiltersModal.tsx +++ b/client/src/components/modals/mobile/SearchFiltersModal.tsx @@ -1,6 +1,5 @@ import { useContext } from "react"; import useModal from "../../../store/useModal"; -import Button from "../../Button"; import CrossIcon from "../../icons/CrossIcon"; import { MobileModalWrapperContext } from "./MobileModalWrapper"; import useSearchFilters from "../../../store/useSearchFilters"; @@ -14,6 +13,7 @@ import { initialViewCheckboxes, initialRoveHomeCheckboxes, } from "../../../consts/initialMasterplanFilters"; +import Button3 from "../../Button3"; const SearchFiltersModal = () => { // const [viewCheckboxes, setViewCheckboxes] = useState( @@ -118,10 +118,10 @@ const SearchFiltersModal = () => {

Filters

-
-
+
{multirangeSliders.map((slider) => (
-
+

{slider.title}

@@ -189,19 +189,20 @@ const SearchFiltersModal = () => {

195 apartments found

-
-
); }; diff --git a/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx b/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx index 4bcaa20..be1fb15 100644 --- a/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx +++ b/client/src/components/modals/mobile/SendEnquiryMobileModal.tsx @@ -1,11 +1,11 @@ import { useSwipeable } from "react-swipeable"; -import Button from "../../Button"; import useModal from "../../../store/useModal"; import CrossIcon from "../../icons/CrossIcon"; import { useContext } from "react"; import { MobileModalWrapperContext } from "./MobileModalWrapper"; import MasterInput from "../../MasterInput"; import MasterSelector from "../../MasterSelector"; +import Button3 from "../../Button3"; const SendEnquiryMobileModal = () => { const { setModal } = useModal(); @@ -34,20 +34,20 @@ const SendEnquiryMobileModal = () => {

Apartment purchase enquiry

-
-
+
-
+

Studio Flex, 607.08 Sqft

@@ -87,8 +87,8 @@ const SendEnquiryMobileModal = () => {
-
-

+
+

Specify the client data to send the request

@@ -106,18 +106,14 @@ const SendEnquiryMobileModal = () => {
-
-

By clicking on the “Send” button, you accept the privacy policy and diff --git a/client/src/components/searchPage/LayoutCard.tsx b/client/src/components/searchPage/LayoutCard.tsx index 9cb8944..3a44b31 100644 --- a/client/src/components/searchPage/LayoutCard.tsx +++ b/client/src/components/searchPage/LayoutCard.tsx @@ -1,10 +1,10 @@ import { useNavigate } from "react-router-dom"; -import Button from "../Button"; import HeartIcon from "../icons/Heart"; import { IAparmentRes } from "../../types/apartmentsRes"; import { useEffect, useState } from "react"; -import useFavorites from "../../store/useFavorites"; +// import useFavorites from "../../store/useFavorites"; import { apartmentRoutes } from "../../consts/apartmentsRoutes"; +import Button3 from "../Button3"; interface LayoutCardProps { apartmentCard: IAparmentRes; @@ -25,7 +25,7 @@ const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => { const totalArea = Number(_totalArea).toFixed(2); const [isFavorite, setIsFavorite] = useState(false); - const { setFavorites } = useFavorites(); + // const { setFavorites } = useFavorites(); const layoutImage = apartmentRoutes.find( (apr) => apr.type === unitType )?.layout; @@ -36,37 +36,37 @@ const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => { navigate(`${id}`); }; - const handleOnFavoriteClick = ( - e: React.MouseEvent - ) => { - e.stopPropagation(); - const favorites = localStorage.getItem("Favorites"); + // const handleOnFavoriteClick = ( + // e: React.MouseEvent + // ) => { + // e.stopPropagation(); + // const favorites = localStorage.getItem("Favorites"); - if (!favorites) { - setIsFavorite(true); - const updatedFavorites = JSON.stringify([apartmentCard]); + // if (!favorites) { + // setIsFavorite(true); + // const updatedFavorites = JSON.stringify([apartmentCard]); - localStorage.setItem("Favorites", updatedFavorites); - } else { - const _favorites = JSON.parse(favorites) as IAparmentRes[]; + // localStorage.setItem("Favorites", updatedFavorites); + // } else { + // const _favorites = JSON.parse(favorites) as IAparmentRes[]; - if (_favorites.some((apart) => apart.id === apartmentCard.id)) { - setIsFavorite(false); - const updatedFavorites = [..._favorites].filter( - (apart) => apart.id !== apartmentCard.id - ); - const convertedFavorites = JSON.stringify(updatedFavorites); - setFavorites(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } else { - setIsFavorite(true); - const updatedFavorites = [..._favorites, apartmentCard]; - setFavorites(updatedFavorites); - const convertedFavorites = JSON.stringify(updatedFavorites); - localStorage.setItem("Favorites", convertedFavorites); - } - } - }; + // if (_favorites.some((apart) => apart.id === apartmentCard.id)) { + // setIsFavorite(false); + // const updatedFavorites = [..._favorites].filter( + // (apart) => apart.id !== apartmentCard.id + // ); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // setFavorites(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } else { + // setIsFavorite(true); + // const updatedFavorites = [..._favorites, apartmentCard]; + // setFavorites(updatedFavorites); + // const convertedFavorites = JSON.stringify(updatedFavorites); + // localStorage.setItem("Favorites", convertedFavorites); + // } + // } + // }; useEffect(() => { const favorites = localStorage.getItem("Favorites"); @@ -80,38 +80,37 @@ const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => { return (

-
-
+
+

{projectName}

-

+

{wing} Wing

-

+

Floor {floor}

-

+

№ {unitNumber}

-
-
+
diff --git a/client/src/components/searchPage/LayoutOptions.tsx b/client/src/components/searchPage/LayoutOptions.tsx index 09049d9..cd3fdeb 100644 --- a/client/src/components/searchPage/LayoutOptions.tsx +++ b/client/src/components/searchPage/LayoutOptions.tsx @@ -3,7 +3,6 @@ import { useEffect, useState } from "react"; import LayoutCard from "./LayoutCard"; import SortButton from "./SortButton"; import SearchIcon from "../icons/SearchIcon"; -import Button from "../Button"; import FilterIcon from "../icons/FilterIcon"; import useModal from "../../store/useModal"; import { MobileModalWrapper } from "../modals/mobile/MobileModalWrapper"; @@ -16,6 +15,7 @@ import { perPageInitial } from "../../consts/initialMasterplanFilters"; import { getFilteredApartments } from "../../calc/getFilteredApartments"; import SearchLoader from "./SearchLoader"; import _ from "lodash"; +import Button3 from "../Button3"; const LayoutOptions = () => { const { apartments, setApartments } = useApartments(); @@ -186,9 +186,9 @@ const LayoutOptions = () => { } return ( -
-
-
+
+
+

Units

@@ -197,19 +197,20 @@ const LayoutOptions = () => {

-
-
{isLoading ? ( ) : ( -
+
{apartments && apartments.map((apartment, index) => ( { const { @@ -84,17 +84,16 @@ const SidebarFilters = () => { return (
-
+
-

Filters

-

+ } - buttonType="fab" + roundedFull onClick={handleOnResetClick} />
-
+

Rove Home

{roveHomeTypeCheckboxes.map((checkbox) => ( @@ -106,7 +105,7 @@ const SidebarFilters = () => { ))}
-
+

Apartment type

{apartmentTypeCheckboxes.map((checkbox) => ( @@ -118,10 +117,10 @@ const SidebarFilters = () => { ))}
-
+
{multirangeSliders.map((slider) => (
-
+

{slider.title}

{slider.unit}

diff --git a/client/src/components/virtualTour/ButtomPanelCompassVirualTour.tsx b/client/src/components/virtualTour/ButtomPanelCompassVirualTour.tsx index 1e232cd..13a0067 100644 --- a/client/src/components/virtualTour/ButtomPanelCompassVirualTour.tsx +++ b/client/src/components/virtualTour/ButtomPanelCompassVirualTour.tsx @@ -1,6 +1,6 @@ import useCompass from "../../store/useCompass"; import useModal from "../../store/useModal"; -import Button from "../Button"; +import Button3 from "../Button3"; import DisclaimerIcon from "../icons/DisclaimerIcon"; import DisclaimerModal from "../modals/DisclaimerModal"; @@ -13,16 +13,18 @@ const ButtomPanelCompassVirtualTour = () => { }; return ( -
+
-
@@ -31,8 +33,8 @@ const ButtomPanelCompassVirtualTour = () => { compass
diff --git a/client/src/components/virtualTour/VirtualTourCard.tsx b/client/src/components/virtualTour/VirtualTourCard.tsx index c123b25..ed11a53 100644 --- a/client/src/components/virtualTour/VirtualTourCard.tsx +++ b/client/src/components/virtualTour/VirtualTourCard.tsx @@ -1,4 +1,3 @@ -import Button from "../Button"; import ArrowLeftIcon from "../icons/ArrowLeftIcon"; import IUnit from "../../types/IUnit"; import BookingIcon from "../icons/BookingIcon"; @@ -182,9 +181,10 @@ function VirtualTourCard({ unit, type }: Props) { >
-
-
+

{apartment?.Project_Name || "Rove Home Marasi Drive"}

-

- {wing} -

+

{wing}

-

- Floor {apartment?.Floor || 11} -

+

Floor {apartment?.Floor || 11}

-

- № {apartment?.Unit_No || 213} -

+

№ {apartment?.Unit_No || 213}

@@ -147,16 +128,8 @@ const VirtualTourSidebar = ({ !isActive ? "max-h-0 opacity-0" : "max-h-screen opacity-100" }`} > -
- +
+

Size

-

- {Number(apartment?.Total_Area_Sqft).toFixed(2) || 609}{" "} - Sqft -

+

{Number(apartment?.Total_Area_Sqft).toFixed(2) || 609} Sqft

Status

-

- {apartment?.Property_Status || "Available"} -

+

{apartment?.Property_Status || "Available"}

-

- Unavailable -

+

Unavailable

-
-
+
{appartmentSphere && appartmentSphere.spheres.map((sphere) => { @@ -219,9 +177,7 @@ const VirtualTourSidebar = ({
handleOnLabelClick(sphere)} > @@ -234,13 +190,9 @@ const VirtualTourSidebar = ({ onClick={handleOnShowClick} className="transition-all duration-300 bg-[#FFFFFFCC] px-4 py-3 w-fit h-12 rounded-ee-lg rounded-es-lg select-none cursor-pointer pointer-events-auto items-start border border-t-[#0D1922B2] active:border-[#00BED7] hover:bg-[#FFFFFF] text-[#0D1922B2] hover:text-[#0D1922]" > -
+
-
+
Show
- +
diff --git a/client/src/components/virtualTour/VirtualTourTopPanel.tsx b/client/src/components/virtualTour/VirtualTourTopPanel.tsx index 147a6c3..a6493f8 100644 --- a/client/src/components/virtualTour/VirtualTourTopPanel.tsx +++ b/client/src/components/virtualTour/VirtualTourTopPanel.tsx @@ -1,10 +1,8 @@ -// import useModal from "../../store/useModal"; -import Button from "../Button"; import HintIcon from "../icons/HintIcon"; import ResizeIcon from "../icons/ResizeIcon"; -// import HelpModal from "../modals/HelpModal"; import useFullScreen from "../../store/useFullScreen"; import ActiveResizeIcon from "../icons/ActiveResizeIcon"; +import Button3 from "../Button3"; const VirtualTourTopPanel = () => { // const { setModal } = useModal(); @@ -30,25 +28,16 @@ const VirtualTourTopPanel = () => {
-
+
{isFullscreen ? ( -
diff --git a/client/src/data/EastWingMobilePaths.json b/client/src/data/EastWingMobilePaths.json index 0ca1df2..dc18a4a 100644 --- a/client/src/data/EastWingMobilePaths.json +++ b/client/src/data/EastWingMobilePaths.json @@ -4,35 +4,35 @@ "d": "M286.49,419.5l72.75-9.76c2.57-.35,4.49-2.55,4.49-5.15v-78.37c0-2.52,1.8-4.67,4.27-5.12l12.06-2.17c2.47-.44,4.27-2.6,4.27-5.11v-14.97c0-2.55,1.85-4.73,4.35-5.13l59.66-9.65c.54-.09,1.1-.09,1.64,0l73.38,11.77c.52.08,1.05.09,1.57,0l29.78-4.39c.51-.08,1.04-.07,1.55,0l156.39,24.43c.52.08,1.05.08,1.57,0l22.71-3.46c.52-.08,1.04-.08,1.56,0l84.15,12.95c1.88.29,3.27,1.91,3.27,3.82s1.26,3.4,3.05,3.76c53.97,10.82,128.21,10.91,129.5,10.91.04,0,.04,0,.08,0,.16,0,.66.02,1.47.04v132.1h-78.46l-419.1-44.36c-.38-.04-.75-.04-1.13,0l-173.55,19.82c-3.07.35-5.76-2.06-5.76-5.16v-21.65c0-2.6,1.92-4.81,4.49-5.15Z" }, { - "data-name": "31 floor", + "data-name": "East 31 floor", "d": "M286.39,498.27c-2.35.23-4.39-1.62-4.39-3.98v-32.54c0-2.03,1.52-3.73,3.53-3.97l175.36-20.73c.3-.04.6-.04.89,0l416.7,44.13h76.52c2.21,0,4,1.79,4,4v31.82c0,2.21-1.79,4-4,4h-76.52l-411.65-40.11c-.26-.02-.52-.02-.77,0l-179.68,17.39Z" }, { - "data-name": "30 floor", + "data-name": "East 30 floor", "d": "M286.34,548.3c-2.33.2-4.34-1.64-4.34-3.99v-32.76c0-2.04,1.54-3.76,3.57-3.98l180.47-19.54c.27-.03.55-.03.82,0l411.63,39.94h76.52c2.21,0,4,1.79,4,4v32.02c0,2.21-1.79,4-4,4h-76.52l-411.7-34.94c-.22-.02-.45-.02-.68,0l-179.77,15.24Z" }, { - "data-name": "29 floor", + "data-name": "East 29 floor", "d": "M286.27,596.64c-2.31.16-4.27-1.68-4.27-3.99v-33.28c0-2.07,1.58-3.8,3.64-3.98l180.47-16.36c.23-.02.46-.02.68,0l411.69,33.45h76.52c2.21,0,4,1.79,4,4v32.52c0,2.21-1.79,4-4,4h-76.52l-412.04-28.4-180.18,12.04Z" }, { - "data-name": "28 floor", + "data-name": "East 28 floor", "d": "M286.23,646.88c-2.29.13-4.23-1.7-4.23-3.99v-34.32c0-2.08,1.6-3.82,3.68-3.99l180.47-14.55c.2-.02.4-.02.6,0l411.74,28.44h76.52c2.21,0,4,1.79,4,4v33.54c0,2.21-1.79,4-4,4h-76.52l-412.04-23.26-180.22,10.14Z" }, { - "data-name": "27 floor", + "data-name": "East 27 floor", "d": "M286.14,694.86c-2.26.08-4.14-1.73-4.14-4v-32.34c0-2.12,1.65-3.87,3.77-3.99l180.68-10.53,412.04,21.42h76.52c2.21,0,4,1.79,4,4v31.58c0,2.21-1.79,4-4,4h-76.52l-412.04-16.46-180.31,6.32Z" }, { - "data-name": "26 floor", + "data-name": "East 26 floor", "d": "M286.1,744.38c-2.25.05-4.1-1.75-4.1-4v-32.85c0-2.14,1.68-3.89,3.81-4l180.64-8.53,412.04,15.92h76.52c2.21,0,4,1.79,4,4v32.08c0,2.21-1.79,4-4,4h-76.52l-412.04-10.89-180.35,4.27Z" }, { - "data-name": "25 floor", + "data-name": "East 25 floor", "d": "M285.99,792.23c-2.22,0-4.02-1.79-4.01-4.01l.05-33.49c0-2.16,1.73-3.93,3.89-3.99l180.57-4.96,412.02,10.87,76.51.11c2.21,0,4,1.8,3.99,4.01l-.05,32.7c0,2.21-1.8,4-4.01,3.99l-76.51-.11-412.03-5.77-180.43.64Z" }, { - "data-name": "24 floor", + "data-name": "East 24 floor", "d": "M285.97,842.59c-2.2-.02-3.97-1.8-3.97-4v-33.67c0-2.18,1.75-3.96,3.93-4l180.51-2.93,412.04,4.45h76.52c2.21,0,4,1.79,4,4v32.88c0,2.21-1.79,4-4,4h-76.52l-412.04.67-180.48-1.41Z" }, { @@ -40,79 +40,79 @@ "d": "M282,1014.07v-149.93c0-2.88,2.35-5.2,5.22-5.18l178.99,1.65,411.51-3.62h82.27v152.49l-6.95-.13-75.33-.04-395.2,22.68-195.68-12.76c-2.72-.18-4.84-2.44-4.84-5.17Z" }, { - "data-name": "21 floor", + "data-name": "East 21 floor", "d": "M285.66,1083.78c-2.07-.18-3.66-1.91-3.66-3.99v-42.18c0-2.3,1.94-4.13,4.24-3.99l196.1,11.69,396.15-21.13,76.46-1.12c2.23-.03,4.06,1.77,4.06,4v38.97c0,2.21-1.79,4-4,4h-76.52l-411.73,28.95c-.21.01-.41.01-.62-.01l-180.48-15.19Z" }, { - "data-name": "20 floor", + "data-name": "East 20 floor", "d": "M285.63,1133.02c-2.05-.19-3.63-1.92-3.63-3.98v-34.09c0-2.33,1.98-4.17,4.31-3.99l179.84,13.91c.2.02.4.02.6,0l411.74-29.87h76.52c2.21,0,4,1.79,4,4v32.08c0,2.21-1.79,4-4,4h-76.52l-411.68,34.89c-.24.02-.48.02-.71,0l-180.47-16.95Z" }, { - "data-name": "19 floor", + "data-name": "East 19 floor", "d": "M285.58,1182.93c-2.04-.21-3.58-1.93-3.58-3.97v-33.68c0-2.34,2.02-4.19,4.36-3.98l179.75,16c.23.02.46.02.7,0l411.69-35.3h76.52c2.21,0,4,1.79,4,4v31.7c0,2.21-1.79,4-4,4h-76.52l-411.63,40.26c-.27.03-.54.03-.81,0l-180.46-19.03Z" }, { - "data-name": "18 floor", + "data-name": "East 18 floor", "d": "M285.51,1231.45c-2-.25-3.51-1.95-3.51-3.97v-32.6c0-2.37,2.05-4.22,4.4-3.98l179.92,18.18c.27.02.53.02.8,0l412.25-41.08h76.63c2.21,0,4,1.79,4,4v31.88c0,2.21-1.79,4-4,4h-76.63l-412.18,46.07c-.31.03-.63.03-.94-.01l-180.75-22.49Z" }, { - "data-name": "17 floor", + "data-name": "East 17 floor", "d": "M285.42,1279.7c-1.97-.28-3.42-1.97-3.42-3.95v-33.15c0-2.4,2.1-4.26,4.48-3.97l179.5,21.82c.31.03.63.03.94,0l411.56-47.45h76.52c2.21,0,4,1.79,4,4v32.43c0,2.21-1.79,4-4,4h-76.52l-411.49,52.5c-.36.05-.72.04-1.08-.01l-180.48-26.22Z" }, { - "data-name": "16 floor", + "data-name": "East 16 floor", "d": "M285.35,1329.17c-1.93-.32-3.35-1.99-3.35-3.95v-33.24c0-2.44,2.15-4.3,4.56-3.97l179.36,25.28c.36.05.72.05,1.07,0l411.5-53.29h76.52c2.21,0,4,1.79,4,4v32.55c0,2.21-1.79,4-4,4h-76.52l-411.43,58.36c-.4.06-.81.06-1.21-.01l-180.49-29.73Z" }, { - "data-name": "15 floor", + "data-name": "East 15 floor", "d": "M285.33,1379.36c-1.93-.33-3.33-2-3.33-3.95v-34.21c0-2.45,2.18-4.33,4.6-3.96l179.26,27.34c.39.06.78.07,1.17.01l411.45-58.59h76.52c2.21,0,4,1.79,4,4v32.28c0,2.21-1.79,4-4,4h-76.21c-.21,0-.41.01-.61.05l-411.09,63.57c-.42.07-.85.06-1.28-.01l-180.48-30.53Z" }, { - "data-name": "14 floor", + "data-name": "East 14 floor", "d": "M285.24,1425.91c-1.88-.36-3.24-2.01-3.24-3.92v-32.63c0-2.48,2.23-4.36,4.67-3.95l179.14,30.49c.42.07.86.07,1.28,0l411.09-63.85c.2-.03.41-.05.61-.05h76.21c2.21,0,4,1.79,4,4v31.98c0,2.21-1.79,4-4,4h-76.18c-.22,0-.44.02-.66.06l-410.99,68.84c-.47.08-.95.07-1.42-.02l-180.5-34.95Z" }, { - "data-name": "13 floor", + "data-name": "East 13 floor", "d": "M285.17,1476.45c-1.85-.4-3.17-2.03-3.17-3.92v-35.32c0-2.52,2.3-4.41,4.77-3.93l178.95,35c.48.09.98.09,1.46.01l410.99-72.04c.21-.04.42-.06.63-.06l76.14-1.13c2.23-.03,4.06,1.77,4.06,4v33.39c0,2.19-1.76,3.97-3.94,4l-76.23,1.13c-.23,0-.46.03-.68.07l-410.91,77.2c-.52.1-1.05.09-1.57-.02l-180.5-38.38Z" }, { - "data-name": "12 floor", + "data-name": "East 12 floor", "d": "M285.11,1523.63c-1.82-.42-3.11-2.03-3.11-3.9v-34.56c0-2.55,2.34-4.44,4.83-3.92l178.85,37.79c.51.11,1.04.12,1.56.02l412.12-76.66c.2-.04.41-.06.61-.06l74.92-2.22c2.25-.06,4.12,1.74,4.12,4v32.69c0,2.16-1.72,3.93-3.88,4l-75.13,2.22c-.22,0-.44.03-.66.07l-412.04,81.73c-.55.11-1.12.11-1.67-.02l-180.51-41.18Z" }, { - "data-name": "11 floor", + "data-name": "East 11 floor", "d": "M285.07,1573.59c-1.8-.43-3.07-2.04-3.07-3.89v-34.4c0-2.56,2.37-4.47,4.87-3.91l178.76,39.79c.54.12,1.1.13,1.64.02l410.89-80.8c.22-.04.44-.07.66-.07l76.07-2.21c2.25-.07,4.12,1.74,4.12,4v32.55c0,2.16-1.72,3.94-3.88,4l-76.28,2.21c-.24.01-.47.04-.7.09l-410.81,85.85c-.58.12-1.17.11-1.75-.03l-180.51-43.2Z" }, { - "data-name": "10 floor", + "data-name": "East 10 floor", "d": "M285.03,1623.62c-1.78-.45-3.03-2.05-3.03-3.88v-34.07c0-2.57,2.4-4.48,4.91-3.89l178.68,41.72c.57.13,1.16.14,1.73.02l410.85-85.97c.21-.05.43-.07.65-.08l76.02-3.29c2.27-.1,4.17,1.72,4.17,4v32.24c0,2.15-1.69,3.91-3.83,4l-76.34,3.3c-.23.01-.46.04-.69.09l-410.77,90.99c-.6.13-1.23.12-1.84-.03l-180.51-45.15Z" }, { - "data-name": "9 floor", + "data-name": "East 9 floor", "d": "M284.96,1672.11c-1.75-.47-2.96-2.06-2.96-3.86v-34.09c0-2.61,2.45-4.52,4.98-3.88l178.55,45.12c.61.16,1.24.16,1.85.03l410.76-91.87c.23-.05.47-.08.7-.09l75.99-3.29c2.27-.1,4.17,1.72,4.17,4v32.3c0,2.14-1.69,3.9-3.83,4l-76.31,3.3c-.25.01-.5.05-.75.1l-410.68,96.89c-.65.15-1.32.14-1.96-.03l-180.51-48.63Z" }, { - "data-name": "8 floor", + "data-name": "East 8 floor", "d": "M285.91,1721.51c-1.72-.49-2.91-2.06-2.91-3.85v-34.3c0-2.63,2.49-4.55,5.03-3.87l178.44,47.62c.64.17,1.32.18,1.96.03l410.74-98.22c.21-.05.42-.09.64-.1l75.9-5.51c2.32-.17,4.29,1.67,4.29,3.99v32.53c0,2.09-1.62,3.83-3.71,3.99l-76.46,5.54c-.23.02-.46.06-.69.11l-410.66,103.27c-.68.17-1.39.16-2.07-.03l-180.51-51.2Z" }, { - "data-name": "7 floor", + "data-name": "East 7 floor", "d": "M284.85,1770.29c-1.69-.51-2.85-2.06-2.85-3.83v-34.07c0-2.66,2.54-4.57,5.1-3.85l178.33,50.75c.67.19,1.38.2,2.06.03l410.69-102.27c.2-.05.41-.08.62-.1l75.86-6.57c2.34-.21,4.34,1.64,4.34,3.98v32.33c0,2.08-1.59,3.81-3.66,3.99l-76.52,6.63c-.22.02-.45.06-.67.11l-410.62,107.3c-.71.18-1.46.17-2.16-.04l-180.53-54.39Z" }, { - "data-name": "6 floor", + "data-name": "East 6 floor", "d": "M284.81,1819.36c-1.67-.52-2.81-2.07-2.81-3.82v-33.86c0-2.68,2.57-4.6,5.13-3.84l178.26,52.62c.7.21,1.43.22,2.14.04l410.67-106.32c.2-.05.4-.08.6-.1l75.81-7.64c2.36-.23,4.4,1.62,4.4,3.98v32.15c0,2.06-1.56,3.78-3.6,3.98l-76.59,7.71c-.22.02-.43.06-.65.12l-410.59,111.32c-.73.19-1.51.18-2.24-.05l-180.53-56.29Z" }, { - "data-name": "5 floor", + "data-name": "East 5 floor", "d": "M284.76,1868.94c-1.65-.53-2.76-2.07-2.76-3.8v-33.92c0-2.69,2.61-4.62,5.18-3.82l178.16,54.94c.73.22,1.5.24,2.23.03l410.59-112.16c.21-.06.43-.1.65-.12l75.78-7.65c2.35-.23,4.4,1.62,4.4,3.98v32.23c0,2.06-1.55,3.78-3.6,3.98l-76.56,7.73c-.23.02-.47.07-.7.13l-410.52,117.18c-.76.21-1.58.2-2.33-.05l-180.53-58.68Z" }, { - "data-name": "Podium", + "data-name": "Podium Level", "d": "M470,1946.14v57.66c0,1.73,1.1,3.26,2.74,3.8l126.89,42.22c33.98,11.31,70.07,14.87,105.6,10.42l254.77-31.91v-210.33h-2.59l-50.22,3.62c-20.48,1.47-40.74,5.13-60.44,10.92l-373.89,109.76c-1.7.5-2.87,2.06-2.87,3.84Z" }, { - "data-name": "Ground", + "data-name": "Ground Level", "d": "M567.92,2093.89l-255.08-92.93c-2.61-.95-5.37.98-5.37,3.75v113.19c0,1.51-.86,2.9-2.22,3.58l-2.04,1.02c-1.36.67-2.22,2.06-2.22,3.58v2.6c0,.88.35,1.72.97,2.34.62.62.97,1.47.97,2.34v65.11c0,1.58.93,3.02,2.38,3.66l186.32,82.4c.7.31,1.48.41,2.23.29l462.74-72.01c1.95-.31,3.39-1.98,3.39-3.96v-124.09c0-2.42-2.13-4.28-4.52-3.97l-230.26,30.33c-42.07,6.02-100.37,3.44-157.29-17.23Z" } ] diff --git a/client/src/data/WestWingMobilePaths.json b/client/src/data/WestWingMobilePaths.json index c1f7ff0..daf0d10 100644 --- a/client/src/data/WestWingMobilePaths.json +++ b/client/src/data/WestWingMobilePaths.json @@ -108,11 +108,11 @@ "d": "M619.52,1876.99c1.99-.26,3.48-1.96,3.48-3.97v-34.43c0-2.4-2.1-4.26-4.49-3.97l-181.23,22.23c-.84.1-1.69-.06-2.43-.47l-30.71-17.08c-.32-.18-.67-.32-1.03-.4l-320.51-75.21c-.26-.06-.52-.1-.79-.1l-76.69-2.46c-2.26-.07-4.13,1.74-4.13,4v32.65c0,2.13,1.68,3.89,3.81,3.99l77.02,3.58c.25.01.5.04.75.1l320.51,76.98c.37.09.72.23,1.05.42l30.67,17.48c.76.44,1.64.61,2.5.5l182.2-23.84Z" }, { - "data-name": "Podium", + "data-name": "Podium Level", "d": "M33.35,1820H.85l-.85.06v209.32l424.5-53.06c2-.25,3.5-1.95,3.5-3.96v-46.9c0-1.47-.81-2.83-2.11-3.53l-30.3-16.25c-7.19-3.85-14.82-6.82-22.73-8.82l-268.83-68.05c-23.1-5.85-46.85-8.81-70.68-8.81Z" }, { - "data-name": "Ground", + "data-name": "Ground Level", "d": "M558.05,2102.19v21.04c0,1.97-1.43,3.65-3.38,3.95L4.62,2213.03c-2.43.38-4.62-1.5-4.62-3.95v-123.76c0-2.01,1.49-3.71,3.48-3.97l581-76.75c2.4-.32,4.52,1.55,4.52,3.96v74.6c0,2.02-1.5,3.72-3.5,3.97l-22.78,2.85c-1.2.15-1.4,1.81-.26,2.23.45.17.75.61.75,1.09v3.04c0,1.49-1.11,2.74-2.58,2.92-1.47.19-2.58,1.44-2.58,2.93Z" } ] diff --git a/client/src/data/floorPaths.json b/client/src/data/floorPaths.json index a8814a6..c85a695 100644 --- a/client/src/data/floorPaths.json +++ b/client/src/data/floorPaths.json @@ -7,14 +7,6 @@ "data-name": "Sky Garden", "d": "M2450.23,1858.75v-55.15c0-2.22-1.81-4.02-4.04-4l-145.49.14h-53.38l-220.63-1.41h-125.46l-318,2.79-138.31-1.27c-2.23-.02-4.04,1.77-4.04,4v115.8c0,2.11,1.64,3.86,3.74,4l151.21,9.85,305.4-17.51,58.2.03,7.86.14,271.8,9.8,38.36,3.28,186.91-3.59c2.18-.05,3.92-1.82,3.92-4v-54.9c0-2.21-1.79-4-4-4h-10.05c-2.21,0-4-1.79-4-4Z" }, - { - "data-name": "Podium", - "d": "M1587.83,2640.32v43.12c0,1.72,1.1,3.25,2.74,3.8l85.47,28.43c33.98,11.3,70.04,14.85,105.57,10.41l509.72-63.82c2-.25,3.5-1.95,3.5-3.96v-35.08c0-1.48-.81-2.83-2.11-3.53l-20.56-11.04c-7.19-3.87-14.83-6.84-22.75-8.85l-197.74-50.14c-23.14-5.87-46.91-8.83-70.79-8.83h-17.05l-31.71,2.28c-20.47,1.47-40.72,5.13-60.41,10.91l-281.01,82.46c-1.7.5-2.87,2.07-2.87,3.84Z" - }, - { - "data-name": "Ground", - "d": "M1663.06,2753.99l-195.69-71.53c-2.61-.95-5.37.98-5.37,3.76v85.81c0,1.51-.86,2.9-2.21,3.58l-.58.28c-1.35.68-2.21,2.07-2.21,3.58v1.47c0,.68.27,1.33.75,1.81s.75,1.13.75,1.81v49.84c0,1.58.93,3.01,2.38,3.65l143.04,63.47c.71.31,1.48.42,2.24.3l786.46-122.79c1.94-.31,3.38-1.98,3.38-3.95v-15.56c0-1.16.86-2.13,2-2.27,1.14-.14,2-1.11,2-2.27v-2.36c0-.37-.23-.71-.58-.84-.88-.33-.73-1.62.2-1.73l16.88-2.11c2-.25,3.5-1.95,3.5-3.97v-56.06c0-2.41-2.13-4.28-4.52-3.96l-631,83.39c-32.48,4.66-77.48,2.66-121.42-13.35Z" - }, { "data-name": "East 31 floor", "d": "M1445.56,1520.63c-2.35.24-4.39-1.61-4.39-3.98v-23.81c0-2.02,1.51-3.73,3.52-3.97l134.43-16.16c.3-.03.61-.03.91,0l321.48,34.61h58.14c2.21,0,4,1.79,4,4v23.24c0,2.21-1.79,4-4,4h-58.14l-317.6-31.46c-.26-.03-.52-.03-.78,0l-137.57,13.53Z" @@ -214,5 +206,13 @@ { "data-name": "West 5 floor", "d": "M2442.66,2585.29c1.99-.26,3.48-1.96,3.48-3.97v-24.64c0-2.4-2.1-4.26-4.48-3.97l-139.39,16.95c-.83.1-1.68-.06-2.41-.47l-23.48-12.95c-.32-.18-.67-.31-1.03-.39l-248.56-57.83c-.26-.06-.52-.09-.78-.1l-58.52-1.86c-2.26-.07-4.13,1.74-4.13,4v23.29c0,2.14,1.69,3.9,3.82,4l58.85,2.7c.25.02.5.05.74.11l248.57,59.19c.37.09.72.23,1.04.41l23.45,13.25c.75.43,1.62.6,2.48.49l140.35-18.21Z" + }, + { + "data-name": "Podium Level", + "d": "M1587.83,2640.32v43.12c0,1.72,1.1,3.25,2.74,3.8l85.47,28.43c33.98,11.3,70.04,14.85,105.57,10.41l509.72-63.82c2-.25,3.5-1.95,3.5-3.96v-35.08c0-1.48-.81-2.83-2.11-3.53l-20.56-11.04c-7.19-3.87-14.83-6.84-22.75-8.85l-197.74-50.14c-23.14-5.87-46.91-8.83-70.79-8.83h-17.05l-31.71,2.28c-20.47,1.47-40.72,5.13-60.41,10.91l-281.01,82.46c-1.7.5-2.87,2.07-2.87,3.84Z" + }, + { + "data-name": "Ground Level", + "d": "M1663.06,2753.99l-195.69-71.53c-2.61-.95-5.37.98-5.37,3.76v85.81c0,1.51-.86,2.9-2.21,3.58l-.58.28c-1.35.68-2.21,2.07-2.21,3.58v1.47c0,.68.27,1.33.75,1.81s.75,1.13.75,1.81v49.84c0,1.58.93,3.01,2.38,3.65l143.04,63.47c.71.31,1.48.42,2.24.3l786.46-122.79c1.94-.31,3.38-1.98,3.38-3.95v-15.56c0-1.16.86-2.13,2-2.27,1.14-.14,2-1.11,2-2.27v-2.36c0-.37-.23-.71-.58-.84-.88-.33-.73-1.62.2-1.73l16.88-2.11c2-.25,3.5-1.95,3.5-3.97v-56.06c0-2.41-2.13-4.28-4.52-3.96l-631,83.39c-32.48,4.66-77.48,2.66-121.42-13.35Z" } ] diff --git a/client/src/index.css b/client/src/index.css index 48f183d..40d9336 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -53,7 +53,7 @@ body { @layer components { .infinite-animation { - animation: infiniter 75s linear infinite; + animation: infiniter 300s linear infinite; } @keyframes infiniter { @@ -171,6 +171,7 @@ body { } input[type="number"].input_number { + appearance: textfield; -moz-appearance: textfield; } diff --git a/client/src/main.tsx b/client/src/main.tsx index 99e9e23..09fcc63 100644 --- a/client/src/main.tsx +++ b/client/src/main.tsx @@ -14,7 +14,6 @@ import AboutProjectsPage from "./pages/AboutProjectsPage"; import SearchPage from "./pages/SearchPage"; import FavoritesPage from "./pages/FavoritesPage"; import TestPage from "./pages/TestPage"; -import FloorSelectionMobilePage from "./pages/FloorSelectionMobilePage"; const router = createBrowserRouter([ { @@ -37,10 +36,6 @@ const router = createBrowserRouter([ path: "masterplan/:complexId/wing", element: , }, - { - path: "masterplan/:complexId/wing/:wing", - element: , - }, { path: "virtual-tour/:unitType", element: , diff --git a/client/src/pages/AboutProjectsPage.tsx b/client/src/pages/AboutProjectsPage.tsx index 4ea3ce7..9ebe6de 100644 --- a/client/src/pages/AboutProjectsPage.tsx +++ b/client/src/pages/AboutProjectsPage.tsx @@ -2,12 +2,12 @@ import { useNavigate } from "react-router-dom"; import AdvantageCard from "../components/AboutProject/AdvantageCard"; import PlaceCard from "../components/AboutProject/PlaceCard"; import UnitCard from "../components/AboutProject/UnitCard"; -import Button2 from "../components/Button2"; import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; import Logo2Icon from "../components/icons/Logo2Icon"; import ConsultantCard from "../components/AboutProject/ConsultantCard"; import Slider from "../components/AboutProject/Slider"; import SliderMobile from "../components/AboutProject/SliderMobile"; +import Button3 from "../components/Button3"; function AboutProjectsPage() { const navigate = useNavigate(); @@ -16,12 +16,12 @@ function AboutProjectsPage() {
- } - onClick={() => navigate("/masterplan/1/wing")} + onClick={() => navigate(-1)} > Masterplan - +

Rove Home this residence a complete ecosystem that has everything you’ll ever need. This isn’t just where you’ll live. @@ -277,12 +277,12 @@ function AboutProjectsPage() {

- navigate("/about")} className="max-lg:min-w-48 min-w-40" > Learn more - +
- - - +
+ {!isMobile ? ( + <> + + + + + ) : ( + + )}
); } diff --git a/client/src/pages/ComplexWingPage.tsx b/client/src/pages/ComplexWingPage.tsx index 3c42030..f1a954f 100644 --- a/client/src/pages/ComplexWingPage.tsx +++ b/client/src/pages/ComplexWingPage.tsx @@ -1,11 +1,11 @@ /* eslint-disable react-hooks/exhaustive-deps */ -import { useEffect, useRef, useState } from "react"; +import { useRef, useState } from "react"; import FloorPath from "../components/FloorPath"; import floorPaths from "../data/floorPaths.json"; import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; import Button3 from "../components/Button3"; import InfoIcon from "../components/icons/InfoIcon"; -import Header from "../components/Header"; +// import Header from "../components/Header"; import { useNavigate } from "react-router-dom"; import { isMobile } from "react-device-detect"; @@ -13,31 +13,37 @@ import FloorPopup from "../components/FloorPopup"; import FloorSidebarContainer from "../components/FloorSidebarContainer"; import FloorPlan from "../components/FloorPlan"; import FloorPlanSkyGarden from "../components/FloorPlanSkyGarden"; +import FloorLabels from "../components/FloorLabels"; +import SelectWingMobile from "../components/SelectWingMobile"; +import FloorSelectionMobilePage from "./FloorSelectionMobilePage"; +import IPath from "../types/IPath"; +import FloorPlanRooftop from "../components/FloorPlanRooftop"; +import FloorPlanPodiumLevel from "../components/FloorPlanPodiumLevel"; +import FloorPlanGroundLevel from "../components/FloorPlanGroundLevel"; function ComplexWingPage() { const ref = useRef(null); const [imageWidth, setImageWidth] = useState(0); const [imageHeight, setImageHeight] = useState(0); - const [scaled, setScaled] = useState(false); const [mousePos, setMousePos] = useState<[number, number]>([0, 0]); const navigate = useNavigate(); - const [hoveredFloorPath, setHoveredFloorPath] = - useState(null); + const [hoveredFloorPath, setHoveredFloorPath] = useState(null); // const [selectedFloorPath, setSelectedFloorPath] = // useState(null); const [sidebarComponent, setSidebarComponent] = useState<{ element: JSX.Element; - name: "Floor" | "Rooftop" | "Sky Garden" | "Podium" | "Ground"; + name: "Floor" | "Rooftop" | "Sky Garden" | "Podium Level" | "Ground Level"; desc?: string; } | null>(null); + const [selectedWing, setSelectedWing] = useState<"east" | "west" | null>(null); - function handleResize() { - if (window.innerHeight > window.innerWidth) { - setScaled(true); - } else { - setScaled(false); - } - } + // function handleResize() { + // if (window.innerHeight > window.innerWidth) { + // setScaled(true); + // } else { + // setScaled(false); + // } + // } function handleMouseEnter(e: React.MouseEvent) { setHoveredFloorPath(e.currentTarget); @@ -54,28 +60,39 @@ function ComplexWingPage() { setHoveredFloorPath(null); } - function handleClick(e: React.MouseEvent) { - if (e.currentTarget.dataset["name"]?.includes("floor")) { - const wing = e.currentTarget.dataset["name"] - .split(" ")[0] - .toLowerCase() as "east" | "west"; - const floor = e.currentTarget.dataset["name"].split(" ")[1]; + function handleClick(path: IPath) { + console.log("path", path); + + if (path["data-name"].includes("floor")) { + const wing = path["data-name"].split(" ")[0].toLowerCase() as "east" | "west"; + const floor = path["data-name"].split(" ")[1]; setSidebarComponent({ element: , name: "Floor", }); - } else if (e.currentTarget.dataset["name"] === "Sky Garden") { + } else if (path["data-name"] === "Sky Garden") { setSidebarComponent({ element: , name: "Sky Garden", desc: "22-23 floor", }); - } else if (e.currentTarget.dataset["name"] === "Rooftop") { - // - } else if (e.currentTarget.dataset["name"] === "Podium") { - // - } else if (e.currentTarget.dataset["name"] === "Ground") { - // + } else if (path["data-name"] === "Rooftop") { + setSidebarComponent({ + element: , + name: "Rooftop", + desc: "32 floor", + }); + } else if (path["data-name"] === "Podium Level") { + setSidebarComponent({ + element: , + name: "Podium Level", + desc: "4 floor", + }); + } else if (path["data-name"] === "Ground Level") { + setSidebarComponent({ + element: , + name: "Ground Level", + }); } } @@ -84,110 +101,142 @@ function ComplexWingPage() { setImageHeight(ref.current!.naturalHeight); } - useEffect(() => { - handleResize(); + // useEffect(() => { + // handleResize(); - window.addEventListener("resize", handleResize); + // window.addEventListener("resize", handleResize); - return () => { - window.removeEventListener("resize", handleResize); - }; - }, []); + // return () => { + // window.removeEventListener("resize", handleResize); + // }; + // }, []); return ( -
-
+ <> + {!isMobile ? ( +
+ {/*
*/} - + -
-
-
-
- } - onlyIcon - onClick={() => - isMobile ? navigate("/") : navigate("/masterplan/1") - } - /> -
-
-

ROVE Home Marasi Drive

-

Select a wing

-
-
- } - onClick={() => navigate("/about-projects")} - className="max-sm:hidden" - > - About Projects - - } - onlyIcon - onClick={() => navigate("/about-projects")} - className="sm:hidden" - /> +
+
+
+
+ } + onlyIcon + onClick={() => (isMobile ? navigate("/") : navigate("/masterplan/1"))} + /> +
+
+

ROVE Home Marasi Drive

+

Select a wing

+
+
+ } + className="max-sm:hidden" + onClick={() => navigate("/about-projects")} + > + About Projects + + } + onlyIcon + className="sm:hidden" + onClick={() => navigate("/about-projects")} + /> +
+
+ +
+ handleLoadedData()} + /> + + {!isMobile ? ( + + {floorPaths.map((floorPath, index) => ( + handleClick(floorPath)} + /> + ))} + + + + ) : ( + <> + )} +
-
+ ) : ( +
+ {!selectedWing ? ( +
+
+ } onlyIcon onClick={() => navigate("/masterplan/1")} /> +
+

ROVE Home Marasi Drive

+

Select a wing

+
+ } + onlyIcon + onClick={() => navigate("/about-projects")} + /> +
-
- handleLoadedData()} - /> +
+ handleLoadedData()} + /> + + setSelectedWing(wing)} /> - {!isMobile ? ( - - {floorPaths.map((floorPath) => ( - - ))} - - ) : ( - - )} -
+ + +
+
+ ) : ( + setSelectedWing(null)} + onSelectPath={(path) => (path ? handleClick(path) : console.log(path))} + /> + )} +
+ )} - setSidebarComponent(null)} - /> -
+ setSidebarComponent(null)} /> + ); } diff --git a/client/src/pages/FavoritesPage.tsx b/client/src/pages/FavoritesPage.tsx index 88db827..71df11a 100644 --- a/client/src/pages/FavoritesPage.tsx +++ b/client/src/pages/FavoritesPage.tsx @@ -6,12 +6,11 @@ import HeartIcon from "../components/icons/HeartIcon"; import UnitModalForSearchPage from "../components/modals/UnitModalForSearchPage"; import unitTypes from "../data/unitTypes.json"; import HeartFilledIcon from "../components/icons/HeartFilledIcon"; -import Button from "../components/Button"; import BookingIcon from "../components/icons/BookingIcon"; import IUnit from "../types/IUnit"; -import Button2 from "../components/Button2"; import SearchIcon from "../components/icons/SearchIcon"; import { useNavigate } from "react-router-dom"; +import Button3 from "../components/Button3"; function FavoritesPage() { const { favoriteUnits, setFavoriteUnits } = useFavoritesStore(); @@ -300,13 +299,13 @@ function FavoritesPage() {

-
))} @@ -327,14 +326,14 @@ function FavoritesPage() {

Apartments added from the 3D model will also appear here.

- } size="large" className="max-sm:w-full" onClick={() => navigate("/search")} > Search - +
)}
diff --git a/client/src/pages/FloorSelectionMobilePage.tsx b/client/src/pages/FloorSelectionMobilePage.tsx index 0a2a922..5a5e1b4 100644 --- a/client/src/pages/FloorSelectionMobilePage.tsx +++ b/client/src/pages/FloorSelectionMobilePage.tsx @@ -1,24 +1,26 @@ -import { useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import _eastWingPaths from "../data/EastWingMobilePaths.json"; import _westWingPaths from "../data/WestWingMobilePaths.json"; import { Transition } from "react-transition-group"; -import { useNavigate, useParams } from "react-router-dom"; import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; import InfoIcon from "../components/icons/InfoIcon"; import EastWingFloorLabels from "../components/EastWingFloorLabels"; import WestWingFloorLabels from "../components/WestWingFloorLabels"; import Button3 from "../components/Button3"; - -interface IPath { - "data-name": string; - d: string; -} +import IPath from "../types/IPath"; +import IFloorPopupItem from "../types/IFloorPopupItem"; +import { useNavigate } from "react-router-dom"; const eastWingPaths = _eastWingPaths as IPath[]; const westWingPaths = _westWingPaths as IPath[]; -function FloorSelectionMobilePage() { - const { wing } = useParams(); +interface Props { + wing: "east" | "west"; + onUnselectWing: () => void; + onSelectPath: (path: IPath | null) => void; +} + +function FloorSelectionMobilePage({ wing, onUnselectWing, onSelectPath }: Props) { const imageRef = useRef(null); const [width, setWidth] = useState(); const [height, setHeight] = useState(); @@ -26,9 +28,13 @@ function FloorSelectionMobilePage() { const [selectedPathName, setSelectedPathName] = useState(null); const [touched, setTouched] = useState(false); const [moved, setMoved] = useState(false); + // const navigate = useNavigate(); + const [floorSidebarComponent] = useState(null); + + const [, setName] = useState(); + const [items, setItems] = useState([]); + const navigate = useNavigate(); - const [floorSidebarComponent] = - useState(null); function handleLoad() { setWidth(imageRef.current!.naturalWidth); @@ -58,64 +64,147 @@ function FloorSelectionMobilePage() { } function handleClickExplore() { - if (!wing) return; - - if (selectedPathName?.includes("floor")) { - const floor = +selectedPathName.replace(" floor", ""); - console.log("floor", floor); - } + console.log("selectedPath", selectedPath); + onSelectPath(selectedPath); } - // useEffect(() => { - // if (!selectedPathName) return; + useEffect(() => { + if (!selectedPath) return; - // if (selectedPathName.includes("floor")) { - // const floorNumber = +selectedPathName.replace(" floor", ""); + const name = selectedPath["data-name"]; - // if (floorNumber > 24) { - // } else { - // } - // } - // }, [selectedPathName]); + if (name?.includes("floor")) { + const floor = name.split(" ")[1]; + const wing = name.split(" ")[0]; + setName(`${floor} floor`); + + if (wing === "East") { + setItems([ + { + count: 7, + title: "Studio²", + }, + { + count: 8, + title: "1 Bedroom", + }, + { + count: 1, + title: "2 Bedroom²", + }, + ]); + } else { + if (+floor > 21) { + // upper + setItems([ + { + count: 5, + title: "Studio²", + }, + { + count: 8, + title: "1 Bedroom", + }, + { + count: 2, + title: "2 Bedroom²", + }, + ]); + } else { + // lower + setItems([ + { + count: 6, + title: "Studio Flex", + }, + { + count: 3, + title: "Studio²", + }, + { + count: 6, + title: "1 Bedroom", + }, + { + count: 1, + title: "2 Bedroom²", + }, + ]); + } + } + } else { + setName(name); + + switch (name) { + case "Rooftop": + setItems([ + { + count: 10, + title: "Amenities", + }, + ]); + break; + + case "Sky Garden": + setItems([ + { + count: 3, + title: "Indoor Amenities", + }, + { + count: 14, + title: "Outdoor Amenities", + }, + ]); + break; + + case "Podium Level": + setItems([ + { + count: 13, + title: "Indoor Amenities", + }, + { + count: 14, + title: "Outdoor Amenities", + }, + ]); + break; + + case "Ground Level": + setItems([ + { + count: 7, + title: "Amenities", + }, + ]); + break; + + default: + break; + } + } + }, [selectedPath]); return ( -
+
-
- {/* */} - } - onlyIcon - onClick={() => navigate("/masterplan/1/wing")} - /> -
+ } onlyIcon onClick={onUnselectWing} />

{wing} Wing

Select a floor

-
- -
+ } + onlyIcon + onClick={() => navigate("/about-projects")} + />
handleClickPath(path)} /> @@ -148,13 +235,9 @@ function FloorSelectionMobilePage() { key={index} {...path} className={`fill-[#00bed766] transition-[fill] ${ - selectedPath && path["data-name"] === selectedPathName - ? "fill-[#00bed7]/80" - : "fill-[#00bed7]/40" + selectedPath && path["data-name"] === selectedPathName ? "fill-[#00bed7]/80" : "fill-[#00bed7]/40" }`} - onClick={() => ( - setSelectedPath(path), setSelectedPathName(path["data-name"]) - )} + onClick={() => (setSelectedPath(path), setSelectedPathName(path["data-name"]))} /> ))} @@ -171,28 +254,15 @@ function FloorSelectionMobilePage() {
-

- {selectedPathName} -

+

{selectedPathName}

-

- {wing} Wing -

+

{wing} Wing

{/*
*/} {/*

*/}
-
+
+ {items.map((item, index) => ( +
+
+ {item.count} +
+

{item.title}

+
+ ))} +
+
-
-
+
+

Legend

-
+
{unitType?.legends.map((legend, index) => (
@@ -40,7 +40,7 @@ function UnitTypesItemPage() { ))}
-
+
{unitType?.images.length && unitType?.images.length > 1 ? ( <>
@@ -107,11 +107,11 @@ function UnitTypesItemPage() {
-
+
-

+

Up to {unitType?.sqft.toFixed(0)} Sqft

{/*

from AED 1,668,888

*/}
{unitType?.tourAvailable && ( -
-
)}
diff --git a/client/src/pages/VirtualTourPage.tsx b/client/src/pages/VirtualTourPage.tsx index 997fc41..41867ce 100644 --- a/client/src/pages/VirtualTourPage.tsx +++ b/client/src/pages/VirtualTourPage.tsx @@ -8,12 +8,12 @@ import ButtomPanelCompassVirtualTour from "../components/virtualTour/ButtomPanel import _apartment from "../data/apartments.json"; import useModal from "../store/useModal"; import LoaderModal from "../components/modals/LoaderModal"; -import Button from "../components/Button"; import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; import IUnit from "../types/IUnit"; import api from "../utils/api"; import VirtualTourCard from "../components/virtualTour/VirtualTourCard"; import { isMobile } from "react-device-detect"; +import Button3 from "../components/Button3"; const apartments = _apartment as IAppartmentComplex[]; const tours = [ @@ -98,9 +98,9 @@ const VirtualTour = () => { ) : (
-
diff --git a/client/src/types/IFloorPopupItem.ts b/client/src/types/IFloorPopupItem.ts new file mode 100644 index 0000000..ab69759 --- /dev/null +++ b/client/src/types/IFloorPopupItem.ts @@ -0,0 +1,6 @@ +interface IFloorPopupItem { + count: number; + title: string; +} + +export default IFloorPopupItem; diff --git a/client/src/types/IPath.ts b/client/src/types/IPath.ts new file mode 100644 index 0000000..64f663f --- /dev/null +++ b/client/src/types/IPath.ts @@ -0,0 +1,6 @@ +interface IPath { + "data-name": string; + d: string; +} + +export default IPath;