diff --git a/public/images/floor-plans/dubai-marina/ground.png b/public/images/floor-plans/dubai-marina/ground.png new file mode 100644 index 0000000..e1ed955 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/ground.png differ diff --git a/public/images/floor-plans/dubai-marina/podium.png b/public/images/floor-plans/dubai-marina/podium.png new file mode 100644 index 0000000..b781b35 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/podium.png differ diff --git a/public/images/floor-plans/dubai-marina/rooftop.png b/public/images/floor-plans/dubai-marina/rooftop.png new file mode 100644 index 0000000..e1ed955 Binary files /dev/null and b/public/images/floor-plans/dubai-marina/rooftop.png differ diff --git a/public/images/floor-plans/marasi-drive/ground.png b/public/images/floor-plans/marasi-drive/ground.png new file mode 100644 index 0000000..a940de5 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/ground.png differ diff --git a/public/images/floor-plans/marasi-drive/podium.png b/public/images/floor-plans/marasi-drive/podium.png new file mode 100644 index 0000000..232a818 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/podium.png differ diff --git a/public/images/floor-plans/marasi-drive/rooftop.png b/public/images/floor-plans/marasi-drive/rooftop.png new file mode 100644 index 0000000..4e651f3 Binary files /dev/null and b/public/images/floor-plans/marasi-drive/rooftop.png differ diff --git a/src/components/AmentitiesCard.tsx b/src/components/AmentitiesCard.tsx new file mode 100644 index 0000000..879eb4a --- /dev/null +++ b/src/components/AmentitiesCard.tsx @@ -0,0 +1,16 @@ +interface AmentitiesCardProps { + icon: React.ReactNode; + title: string; +} + +function AmentitiesCard({ icon, title }: AmentitiesCardProps) { + return ( +
+
+ {icon} +
+

{title}

+
+ ); +} +export default AmentitiesCard; diff --git a/src/components/FloorSelect.tsx b/src/components/FloorSelect.tsx index f85b60d..bee027f 100644 --- a/src/components/FloorSelect.tsx +++ b/src/components/FloorSelect.tsx @@ -79,7 +79,10 @@ function FloorSelect({ function handleFloorClick(floor: string) { if ( - ["Rooftop", "Ground Level", "Podium Level", "Sky Garden"].includes(floor) + ["Rooftop", "Ground Level", "Podium Level", "Sky Garden"].includes( + floor + ) || + complexName === "marasi-drive" ) { onSelect(floor); } else { @@ -117,14 +120,14 @@ function FloorSelect({ key={floorTitle} d={d} className={clsx( - "fill-[#00BED7] cursor-pointer transition-opacity duration-300 hover:opacity-60 peer", + "fill-[#00BED7] cursor-pointer transition-opacity duration-300 hover:opacity-60", selectedFloor === ([ "Rooftop", "Ground Level", "Podium Level", "Sky Garden", - ].includes(floorTitle) + ].includes(floorTitle) || complexName === "marasi-drive" ? floorTitle : floorTitle.split(" ").at(-1)!) ? "opacity-60" diff --git a/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx new file mode 100644 index 0000000..0470e98 --- /dev/null +++ b/src/components/floor-plans/dubai-marina/GroundDubaiMarina.tsx @@ -0,0 +1,23 @@ +import Badge from "../../ui/Badge"; + +function GroundDubaiMarina() { + return ( +
+
+
+

Ground Level

+ +
+
+ podium +
+
+
+ ); +} + +export default GroundDubaiMarina; diff --git a/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx new file mode 100644 index 0000000..331647b --- /dev/null +++ b/src/components/floor-plans/dubai-marina/PodiumDubaiMarina.tsx @@ -0,0 +1,28 @@ +import AmenitiesBadge from "../../icons/AmenitiesBadge"; +import Badge from "../../ui/Badge"; + +function PodiumDubaiMarina() { + return ( +
+
+
+

Podium

+ +
+
+ + +
+
+ podium +
+
+
+ ); +} + +export default PodiumDubaiMarina; diff --git a/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx b/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx new file mode 100644 index 0000000..9edcbc0 --- /dev/null +++ b/src/components/floor-plans/dubai-marina/RooftopDubaiMarina.tsx @@ -0,0 +1,23 @@ +import Badge from "../../ui/Badge"; + +function RooftopDubaiMarina() { + return ( +
+
+
+

Sky 44 - Rooftop

+ +
+
+ podium +
+
+
+ ); +} + +export default RooftopDubaiMarina; diff --git a/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx index ec90e03..f02c6ab 100644 --- a/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/GroundMarasiDrive.tsx @@ -1,5 +1,55 @@ +import AmentitiesCard from "../../AmentitiesCard"; +import ConvenienceIcon from "../../icons/amentities/ConvenienceIcon"; +import CoworkingIcon from "../../icons/amentities/CoworkingIcon"; +import LoungingSpaceIcon from "../../icons/amentities/LoungingSpaceIcon"; +import LushLandscapeIcon from "../../icons/amentities/LushLandscapeIcon"; +import PrivateMeetingRoomsIcon from "../../icons/amentities/PrivateMeetingRoomsIcon"; +import RoveCafe from "../../icons/amentities/RoveCafe"; +import SoundproofMeetingPodsIcon from "../../icons/amentities/SoundproofMeetingPodsIcon"; +import Badge from "../../ui/Badge"; + function GroundMarasiDrive() { - return
Ground
; + return ( +
+
+
+

Ground Level

+ +
+
+ podium +
+
+
+

Amenties

+
+ } title="Rove Café" /> + } title="Lobby Lounge" /> + } title="Coworking Space" /> + } + title="Outdoor Terrace" + /> + } + title="Private Meeting Rooms" + /> + } + title="Convenience Store" + /> + } + title="Soundproof Meeting Pods" + /> +
+
+
+ ); } export default GroundMarasiDrive; diff --git a/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx index 9362315..b6e55d8 100644 --- a/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/PodiumMarasiDrive.tsx @@ -1,5 +1,129 @@ +import AmentitiesCard from "../../AmentitiesCard"; +import AmenitiesBadge from "../../icons/AmenitiesBadge"; +import ArcadeGameIcon from "../../icons/amentities/ArcadeGameIcon"; +import ChangingRoomIcon from "../../icons/amentities/ChangingRoomIcon"; +import ClimbingWallIcon from "../../icons/amentities/ClimbingWallIcon"; +import FullyEquippedGymIcon from "../../icons/amentities/FullyEquippedGymIcon"; +import GuestRooms from "../../icons/amentities/GuestRooms"; +import HammockMovieLoungeIcon from "../../icons/amentities/HammockMovieLoungeIcon"; +import KaraokeIcon from "../../icons/amentities/KaraokeIcon"; +import LoungeIcon from "../../icons/amentities/LoungeIcon"; +import MonkeyBarsIcon from "../../icons/amentities/MonkeyBarsIcon"; +import MultiballInteractiveGamingIcon from "../../icons/amentities/MultiballInteractiveGamingIcon"; +import MultiPurposeRoomWithKitchenIcon from "../../icons/amentities/MultiPurposeRoomWithKitchenIcon"; +import PlaystationIcon from "../../icons/amentities/PlaystationIcon"; +import Badge from "../../ui/Badge"; +import GamingLoungeIcon from "../../icons/amentities/GamingLoungeIcon"; +import UrbanBeachPoolIcon from "../../icons/amentities/UrbanBeachPoolIcon"; +import JacuzziIcon from "../../icons/amentities/JacuzziIcon"; +import YogaLoungeIcon from "../../icons/amentities/YogaLoungeIcon"; +import SunLoungeIcon from "../../icons/amentities/SunLoungeIcon"; +import CascadingLeisurePoolIcon from "../../icons/amentities/CascadingLeisurePoolIcon"; +import AquaCyclingIcon from "../../icons/amentities/AquaCyclingIcon"; +import OpenAirGymIcon from "../../icons/amentities/OpenAirGymIcon"; +import RoveBeverageTruckIcon from "../../icons/amentities/RoveBeverageTruckIcon"; +import CabanasWithDaybeds from "../../icons/amentities/CabanasWithDaybeds"; +import IntegratedLapPoolIcon from "../../icons/amentities/IntegratedLapPoolIcon"; +import SunkenGardensIcon from "../../icons/amentities/SunkenGardensIcon"; +import GamingTerraceIcon from "../../icons/amentities/GamingTerraceIcon"; +import CoworkingIcon from "../../icons/amentities/CoworkingIcon"; + function PodiumMarasiDrive() { - return
Podium
; + return ( +
+
+
+

Podium Level

+ +
+
+ + +
+
+ podium +
+
+
+

Indoor Amenties

+
+ } title="Indoor Lounge" /> + } title="Monkey Bars" /> + } title="Karaoke Room" /> + } title="Arcade Games" /> + } title="Climbing Wall" /> + } title="Playstation Deck" /> + } + title="Fully Equipped Gym" + /> + } title="Changing Rooms" /> + } + title="Hammock Movie Lounge" + /> + } title="Guest Rooms" /> + } + title="Multi Ball Interactive Gaming" + /> + } + title="Multi-purpose Room for Kitchen" + /> + } title="Gaming Lounge" /> +
+
+
+
+

Outdoor Amenties

+
+ } + title="Urban Beach Pool" + /> + } title="Jacuzzi" /> + } title="Yoga Lounge" /> + } title="Sun Lounging Pool" /> + } + title="Cascading Leisure Pool" + /> + } title="AquaCycling" /> + } title="Open-Air Gym" /> + } + title="Rove Beverage Truck" + /> + } + title="Cabanas with Daybeds" + /> + } + title="Integrated Lap Pool" + /> + } title="Sunken Gardens" /> + } + title="Outdoor Multi-Purpose Terrace" + /> + } + title="Outdoor Gaming Terrace" + /> + } + title="Outdoor Coworking Space" + /> +
+
+
+ ); } export default PodiumMarasiDrive; diff --git a/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx index b3742f0..74451a3 100644 --- a/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/RooftopMarasiDrive.tsx @@ -1,5 +1,61 @@ +import AmentitiesCard from "../../AmentitiesCard"; +import BBQTerraceIcon from "../../icons/amentities/BBQTerraceIcon"; +import CabanasWithDaybeds from "../../icons/amentities/CabanasWithDaybeds"; +import CommunalDiningTablesRoundedIcon from "../../icons/amentities/CommunalDiningTablesRoundedIcon"; +import FirePitIcon from "../../icons/amentities/FirePitIcon"; +import LoungingSpaceIcon from "../../icons/amentities/LoungingSpaceIcon"; +import OutdoorKitchenIcon from "../../icons/amentities/OutdoorKitchenIcon"; +import RooftopGardenIcon from "../../icons/amentities/RooftopGardenIcon"; +import StargazingIcon from "../../icons/amentities/StargazingIcon"; +import SunkenSeatingIcon from "../../icons/amentities/SunkenSeatingIcon"; +import ViewingDeckWithWingsIcon from "../../icons/amentities/ViewingDeckWithWingsIcon"; +import Badge from "../../ui/Badge"; + function RooftopMarasiDrive() { - return
Rooftop
; + return ( +
+
+
+

Rooftop

+ +
+
+ podium +
+
+
+

Amenties

+
+ } title="Stargazing Point" /> + } title="BBQ Terrace" /> + } + title="Outdoor Kitchen" + /> + } + title="Cabanas with Daybeds" + /> + } + title="Viewing Deck with Wings" + /> + } title="Lounging Space" /> + } title="Sunken Seating" /> + } title="Firepit" /> + } title="Rooftop Garden" /> + } + title="Communal Dining Tables" + /> +
+
+
+ ); } export default RooftopMarasiDrive; diff --git a/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx index 6dbc6e9..01e52ff 100644 --- a/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx +++ b/src/components/floor-plans/marasi-drive/SkyGardenMarasiDrive.tsx @@ -1,23 +1,89 @@ +import AmentitiesCard from "../../AmentitiesCard"; import AmenitiesBadge from "../../icons/AmenitiesBadge"; +import AmphitheatreIcon from "../../icons/amentities/AmphitheatreIcon"; +import BoulderingWallIcon from "../../icons/amentities/BoulderingWallIcon"; +import ChangingRoomIcon from "../../icons/amentities/ChangingRoomIcon"; +import ChessIcon from "../../icons/amentities/ChessIcon"; +import CinemaIcon from "../../icons/amentities/CinemaIcon"; +import ClimbingWallIcon from "../../icons/amentities/ClimbingWallIcon"; +import CommunalDiningTablesIcon from "../../icons/amentities/CommunalDiningTablesIcon"; +import CoworkingIcon from "../../icons/amentities/CoworkingIcon"; +import LushLandscapeIcon from "../../icons/amentities/LushLandscapeIcon"; +import MultiPurposeIcon from "../../icons/amentities/MultiPurposeIcon"; +import PingPongIcon from "../../icons/amentities/PingPongIcon"; +import PingPongInTubeIcon from "../../icons/amentities/PingPongInTubeIcon"; +import PoolIcon from "../../icons/amentities/PoolIcon"; +import RunningWheelIcon from "../../icons/amentities/RunningWheelIcon"; +import SunLoungeIcon from "../../icons/amentities/SunLoungeIcon"; +import SuspendedLoungingNetsIcon from "../../icons/amentities/SuspendedLoungingNetsIcon"; +import WellnessIcon from "../../icons/amentities/WellnessIcon"; import Badge from "../../ui/Badge"; function SkyGardenMarasiDrive() { return ( -
-
-

Sky Garden

- +
+
+
+

Sky Garden

+ +
+
+ + +
+
+ sky-garden +
-
- - +
+

Indoor Amenties

+
+ } title="Indoor Lap Pool" /> + } title="Wellness Features" /> + } title="Changing Rooms" /> +
-
- sky-garden +
+
+

Outdoor Amenties

+
+ } title="Padel Pong" /> + } title="Sun Lounging Deck" /> + } title="Outdoor Cinema" /> + } + title="Bouldering Wall" + /> + } + title="Ping Pong in a Tube" + /> + } title="Amphitheatre" /> + } + title="Communal Dining Tables" + /> + } + title="Suspended Lounging Nets " + /> + } title="Lush Landscape" /> + } title="Running Wheel" /> + } title="Chess Tables" /> + } title="Climbing Wall" /> + } + title="Outdoor Coworking Space" + /> + } + title="Multi-purpose Court" + /> +
); diff --git a/src/components/icons/amentities/AmphitheatreIcon.tsx b/src/components/icons/amentities/AmphitheatreIcon.tsx new file mode 100644 index 0000000..7717d6d --- /dev/null +++ b/src/components/icons/amentities/AmphitheatreIcon.tsx @@ -0,0 +1,14 @@ +function AmphitheatreIcon() { + return ( + + + + ); +} + +export default AmphitheatreIcon; diff --git a/src/components/icons/amentities/AquaCyclingIcon.tsx b/src/components/icons/amentities/AquaCyclingIcon.tsx new file mode 100644 index 0000000..6953f8f --- /dev/null +++ b/src/components/icons/amentities/AquaCyclingIcon.tsx @@ -0,0 +1,28 @@ +function AquaCyclingIcon() { + return ( + + + + + + + + ); +} + +export default AquaCyclingIcon; diff --git a/src/components/icons/amentities/ArcadeGameIcon.tsx b/src/components/icons/amentities/ArcadeGameIcon.tsx new file mode 100644 index 0000000..dbc5e4a --- /dev/null +++ b/src/components/icons/amentities/ArcadeGameIcon.tsx @@ -0,0 +1,33 @@ +function ArcadeGameIcon() { + return ( + + + + + + + ); +} + +export default ArcadeGameIcon; diff --git a/src/components/icons/amentities/BBQTerraceIcon.tsx b/src/components/icons/amentities/BBQTerraceIcon.tsx new file mode 100644 index 0000000..c0553e4 --- /dev/null +++ b/src/components/icons/amentities/BBQTerraceIcon.tsx @@ -0,0 +1,28 @@ +function BBQTerraceIcon() { + return ( + + + + + + + ); +} + +export default BBQTerraceIcon; diff --git a/src/components/icons/amentities/BoulderingWallIcon.tsx b/src/components/icons/amentities/BoulderingWallIcon.tsx new file mode 100644 index 0000000..abebaa8 --- /dev/null +++ b/src/components/icons/amentities/BoulderingWallIcon.tsx @@ -0,0 +1,14 @@ +function BoulderingWallIcon() { + return ( + + + + ); +} + +export default BoulderingWallIcon; diff --git a/src/components/icons/amentities/CabanasWithDaybeds.tsx b/src/components/icons/amentities/CabanasWithDaybeds.tsx new file mode 100644 index 0000000..0f3d55d --- /dev/null +++ b/src/components/icons/amentities/CabanasWithDaybeds.tsx @@ -0,0 +1,28 @@ +function CabanasWithDaybeds() { + return ( + + + + + + + + ); +} + +export default CabanasWithDaybeds; diff --git a/src/components/icons/amentities/CascadingLeisurePoolIcon.tsx b/src/components/icons/amentities/CascadingLeisurePoolIcon.tsx new file mode 100644 index 0000000..b5ee6c0 --- /dev/null +++ b/src/components/icons/amentities/CascadingLeisurePoolIcon.tsx @@ -0,0 +1,14 @@ +function CascadingLeisurePoolIcon() { + return ( + + + + ); +} + +export default CascadingLeisurePoolIcon; diff --git a/src/components/icons/amentities/ChangingRoomIcon.tsx b/src/components/icons/amentities/ChangingRoomIcon.tsx new file mode 100644 index 0000000..d86f68f --- /dev/null +++ b/src/components/icons/amentities/ChangingRoomIcon.tsx @@ -0,0 +1,14 @@ +function ChangingRoomIcon() { + return ( + + + + ); +} + +export default ChangingRoomIcon; diff --git a/src/components/icons/amentities/ChessIcon.tsx b/src/components/icons/amentities/ChessIcon.tsx new file mode 100644 index 0000000..16bb374 --- /dev/null +++ b/src/components/icons/amentities/ChessIcon.tsx @@ -0,0 +1,20 @@ +function ChessIcon() { + return ( + + + + + + ); +} + +export default ChessIcon; diff --git a/src/components/icons/amentities/CinemaIcon.tsx b/src/components/icons/amentities/CinemaIcon.tsx new file mode 100644 index 0000000..379e522 --- /dev/null +++ b/src/components/icons/amentities/CinemaIcon.tsx @@ -0,0 +1,20 @@ +function CinemaIcon() { + return ( + + + + + + ); +} + +export default CinemaIcon; diff --git a/src/components/icons/amentities/ClimbingWallIcon.tsx b/src/components/icons/amentities/ClimbingWallIcon.tsx new file mode 100644 index 0000000..217e814 --- /dev/null +++ b/src/components/icons/amentities/ClimbingWallIcon.tsx @@ -0,0 +1,14 @@ +function ClimbingWallIcon() { + return ( + + + + ); +} + +export default ClimbingWallIcon; diff --git a/src/components/icons/amentities/CommunalDiningTablesIcon.tsx b/src/components/icons/amentities/CommunalDiningTablesIcon.tsx new file mode 100644 index 0000000..0c3a6ec --- /dev/null +++ b/src/components/icons/amentities/CommunalDiningTablesIcon.tsx @@ -0,0 +1,16 @@ +function CommunalDiningTablesIcon() { + return ( + + + + + ); +} + +export default CommunalDiningTablesIcon; diff --git a/src/components/icons/amentities/CommunalDiningTablesRoundedIcon.tsx b/src/components/icons/amentities/CommunalDiningTablesRoundedIcon.tsx new file mode 100644 index 0000000..717f4aa --- /dev/null +++ b/src/components/icons/amentities/CommunalDiningTablesRoundedIcon.tsx @@ -0,0 +1,24 @@ +function CommunalDiningTablesRoundedIcon() { + return ( + + + + + + + ); +} + +export default CommunalDiningTablesRoundedIcon; diff --git a/src/components/icons/amentities/ConvenienceIcon.tsx b/src/components/icons/amentities/ConvenienceIcon.tsx new file mode 100644 index 0000000..db880cb --- /dev/null +++ b/src/components/icons/amentities/ConvenienceIcon.tsx @@ -0,0 +1,22 @@ +function ConvenienceIcon() { + return ( + + + + + ); +} + +export default ConvenienceIcon; diff --git a/src/components/icons/amentities/CoworkingIcon.tsx b/src/components/icons/amentities/CoworkingIcon.tsx new file mode 100644 index 0000000..14c2ca3 --- /dev/null +++ b/src/components/icons/amentities/CoworkingIcon.tsx @@ -0,0 +1,13 @@ +function CoworkingIcon() { + return ( + + + + ); +} +export default CoworkingIcon; diff --git a/src/components/icons/amentities/FirePitIcon.tsx b/src/components/icons/amentities/FirePitIcon.tsx new file mode 100644 index 0000000..b131275 --- /dev/null +++ b/src/components/icons/amentities/FirePitIcon.tsx @@ -0,0 +1,16 @@ +function FirePitIcon() { + return ( + + + + + ); +} + +export default FirePitIcon; diff --git a/src/components/icons/amentities/FullyEquippedGymIcon.tsx b/src/components/icons/amentities/FullyEquippedGymIcon.tsx new file mode 100644 index 0000000..b45553d --- /dev/null +++ b/src/components/icons/amentities/FullyEquippedGymIcon.tsx @@ -0,0 +1,12 @@ +function FullyEquippedGymIcon() { + return ( + + + + ); +} + +export default FullyEquippedGymIcon; diff --git a/src/components/icons/amentities/GamingLoungeIcon.tsx b/src/components/icons/amentities/GamingLoungeIcon.tsx new file mode 100644 index 0000000..c35d9c0 --- /dev/null +++ b/src/components/icons/amentities/GamingLoungeIcon.tsx @@ -0,0 +1,20 @@ +function GamingLoungeIcon() { + return ( + + + + + + ); +} + +export default GamingLoungeIcon; diff --git a/src/components/icons/amentities/GamingTerraceIcon.tsx b/src/components/icons/amentities/GamingTerraceIcon.tsx new file mode 100644 index 0000000..cbfcaa0 --- /dev/null +++ b/src/components/icons/amentities/GamingTerraceIcon.tsx @@ -0,0 +1,32 @@ +function GamingTerraceIcon() { + return ( + + + + + + + + + ); +} + +export default GamingTerraceIcon; diff --git a/src/components/icons/amentities/GuestRooms.tsx b/src/components/icons/amentities/GuestRooms.tsx new file mode 100644 index 0000000..79bbe17 --- /dev/null +++ b/src/components/icons/amentities/GuestRooms.tsx @@ -0,0 +1,15 @@ +function GuestRooms() { + return ( + + + + ); +} + +export default GuestRooms; diff --git a/src/components/icons/amentities/HammockMovieLoungeIcon.tsx b/src/components/icons/amentities/HammockMovieLoungeIcon.tsx new file mode 100644 index 0000000..64b5b10 --- /dev/null +++ b/src/components/icons/amentities/HammockMovieLoungeIcon.tsx @@ -0,0 +1,12 @@ +function HammockMovieLoungeIcon() { + return ( + + + + ); +} + +export default HammockMovieLoungeIcon; diff --git a/src/components/icons/amentities/IntegratedLapPoolIcon.tsx b/src/components/icons/amentities/IntegratedLapPoolIcon.tsx new file mode 100644 index 0000000..54e436f --- /dev/null +++ b/src/components/icons/amentities/IntegratedLapPoolIcon.tsx @@ -0,0 +1,12 @@ +function IntegratedLapPoolIcon() { + return ( + + + + ); +} + +export default IntegratedLapPoolIcon; diff --git a/src/components/icons/amentities/JacuzziIcon.tsx b/src/components/icons/amentities/JacuzziIcon.tsx new file mode 100644 index 0000000..edc6dec --- /dev/null +++ b/src/components/icons/amentities/JacuzziIcon.tsx @@ -0,0 +1,35 @@ +function JacuzziIcon() { + return ( + + + + + + + ); +} + +export default JacuzziIcon; diff --git a/src/components/icons/amentities/KaraokeIcon.tsx b/src/components/icons/amentities/KaraokeIcon.tsx new file mode 100644 index 0000000..f7f2e70 --- /dev/null +++ b/src/components/icons/amentities/KaraokeIcon.tsx @@ -0,0 +1,16 @@ +function KaraokeIcon() { + return ( + + + + + ); +} + +export default KaraokeIcon; diff --git a/src/components/icons/amentities/LoungeIcon.tsx b/src/components/icons/amentities/LoungeIcon.tsx new file mode 100644 index 0000000..3612706 --- /dev/null +++ b/src/components/icons/amentities/LoungeIcon.tsx @@ -0,0 +1,16 @@ +function LoungeIcon() { + return ( + + + + + ); +} + +export default LoungeIcon; diff --git a/src/components/icons/amentities/LoungingSpaceIcon.tsx b/src/components/icons/amentities/LoungingSpaceIcon.tsx new file mode 100644 index 0000000..ca29bf7 --- /dev/null +++ b/src/components/icons/amentities/LoungingSpaceIcon.tsx @@ -0,0 +1,14 @@ +function LoungingSpaceIcon() { + return ( + + + + ); +} + +export default LoungingSpaceIcon; diff --git a/src/components/icons/amentities/LushLandscapeIcon.tsx b/src/components/icons/amentities/LushLandscapeIcon.tsx new file mode 100644 index 0000000..f55f3f4 --- /dev/null +++ b/src/components/icons/amentities/LushLandscapeIcon.tsx @@ -0,0 +1,29 @@ +function LushLandscapeIcon() { + return ( + + + + + + + + + ); +} + +export default LushLandscapeIcon; diff --git a/src/components/icons/amentities/MonkeyBarsIcon.tsx b/src/components/icons/amentities/MonkeyBarsIcon.tsx new file mode 100644 index 0000000..2aeefc8 --- /dev/null +++ b/src/components/icons/amentities/MonkeyBarsIcon.tsx @@ -0,0 +1,12 @@ +function MonkeyBarsIcon() { + return ( + + + + ); +} + +export default MonkeyBarsIcon; diff --git a/src/components/icons/amentities/MultiPurposeIcon.tsx b/src/components/icons/amentities/MultiPurposeIcon.tsx new file mode 100644 index 0000000..417436a --- /dev/null +++ b/src/components/icons/amentities/MultiPurposeIcon.tsx @@ -0,0 +1,98 @@ +function MultiPurposeIcon() { + return ( + + + + + + + + + + + + + + + + + + + + + ); +} + +export default MultiPurposeIcon; diff --git a/src/components/icons/amentities/MultiPurposeRoomWithKitchenIcon.tsx b/src/components/icons/amentities/MultiPurposeRoomWithKitchenIcon.tsx new file mode 100644 index 0000000..9650f91 --- /dev/null +++ b/src/components/icons/amentities/MultiPurposeRoomWithKitchenIcon.tsx @@ -0,0 +1,15 @@ +function MultiPurposeRoomWithKitchenIcon() { + return ( + + + + ); +} + +export default MultiPurposeRoomWithKitchenIcon; diff --git a/src/components/icons/amentities/MultiballInteractiveGamingIcon.tsx b/src/components/icons/amentities/MultiballInteractiveGamingIcon.tsx new file mode 100644 index 0000000..a688490 --- /dev/null +++ b/src/components/icons/amentities/MultiballInteractiveGamingIcon.tsx @@ -0,0 +1,12 @@ +function MultiballInteractiveGamingIcon() { + return ( + + + + ); +} + +export default MultiballInteractiveGamingIcon; diff --git a/src/components/icons/amentities/OpenAirGymIcon.tsx b/src/components/icons/amentities/OpenAirGymIcon.tsx new file mode 100644 index 0000000..54f98c7 --- /dev/null +++ b/src/components/icons/amentities/OpenAirGymIcon.tsx @@ -0,0 +1,32 @@ +function OpenAirGymIcon() { + return ( + + + + + + + + + ); +} + +export default OpenAirGymIcon; diff --git a/src/components/icons/amentities/OutdoorKitchenIcon.tsx b/src/components/icons/amentities/OutdoorKitchenIcon.tsx new file mode 100644 index 0000000..9c68220 --- /dev/null +++ b/src/components/icons/amentities/OutdoorKitchenIcon.tsx @@ -0,0 +1,24 @@ +function OutdoorKitchenIcon() { + return ( + + + + + + + ); +} + +export default OutdoorKitchenIcon; diff --git a/src/components/icons/amentities/PingPongIcon.tsx b/src/components/icons/amentities/PingPongIcon.tsx new file mode 100644 index 0000000..c32300c --- /dev/null +++ b/src/components/icons/amentities/PingPongIcon.tsx @@ -0,0 +1,12 @@ +function PingPongIcon() { + return ( + + + + ); +} + +export default PingPongIcon; diff --git a/src/components/icons/amentities/PingPongInTubeIcon.tsx b/src/components/icons/amentities/PingPongInTubeIcon.tsx new file mode 100644 index 0000000..dd2c044 --- /dev/null +++ b/src/components/icons/amentities/PingPongInTubeIcon.tsx @@ -0,0 +1,18 @@ +function PingPongInTubeIcon() { + return ( + + + + + ); +} + +export default PingPongInTubeIcon; diff --git a/src/components/icons/amentities/PlaystationIcon.tsx b/src/components/icons/amentities/PlaystationIcon.tsx new file mode 100644 index 0000000..c7d037f --- /dev/null +++ b/src/components/icons/amentities/PlaystationIcon.tsx @@ -0,0 +1,12 @@ +function PlaystationIcon() { + return ( + + + + ); +} + +export default PlaystationIcon; diff --git a/src/components/icons/amentities/PoolIcon.tsx b/src/components/icons/amentities/PoolIcon.tsx new file mode 100644 index 0000000..6c39a30 --- /dev/null +++ b/src/components/icons/amentities/PoolIcon.tsx @@ -0,0 +1,14 @@ +function PoolIcon() { + return ( + + + + ); +} + +export default PoolIcon; diff --git a/src/components/icons/amentities/PrivateMeetingRoomsIcon.tsx b/src/components/icons/amentities/PrivateMeetingRoomsIcon.tsx new file mode 100644 index 0000000..3d98c4f --- /dev/null +++ b/src/components/icons/amentities/PrivateMeetingRoomsIcon.tsx @@ -0,0 +1,19 @@ +function PrivateMeetingRoomsIcon() { + return ( + + + + + ); +} + +export default PrivateMeetingRoomsIcon; diff --git a/src/components/icons/amentities/RooftopGardenIcon.tsx b/src/components/icons/amentities/RooftopGardenIcon.tsx new file mode 100644 index 0000000..81d256c --- /dev/null +++ b/src/components/icons/amentities/RooftopGardenIcon.tsx @@ -0,0 +1,32 @@ +function RooftopGardenIcon() { + return ( + + + + + + + + + ); +} + +export default RooftopGardenIcon; diff --git a/src/components/icons/amentities/RoveBeverageTruckIcon.tsx b/src/components/icons/amentities/RoveBeverageTruckIcon.tsx new file mode 100644 index 0000000..05f4581 --- /dev/null +++ b/src/components/icons/amentities/RoveBeverageTruckIcon.tsx @@ -0,0 +1,24 @@ +function RoveBeverageTruckIcon() { + return ( + + + + + + + ); +} + +export default RoveBeverageTruckIcon; diff --git a/src/components/icons/amentities/RoveCafe.tsx b/src/components/icons/amentities/RoveCafe.tsx new file mode 100644 index 0000000..1c89eb7 --- /dev/null +++ b/src/components/icons/amentities/RoveCafe.tsx @@ -0,0 +1,20 @@ +function RoveCafe() { + return ( + + + + + ); +} + +export default RoveCafe; diff --git a/src/components/icons/amentities/RunningWheelIcon.tsx b/src/components/icons/amentities/RunningWheelIcon.tsx new file mode 100644 index 0000000..8eb6a96 --- /dev/null +++ b/src/components/icons/amentities/RunningWheelIcon.tsx @@ -0,0 +1,20 @@ +function RunningWheelIcon() { + return ( + + + + + + ); +} + +export default RunningWheelIcon; diff --git a/src/components/icons/amentities/SoundproofMeetingPodsIcon.tsx b/src/components/icons/amentities/SoundproofMeetingPodsIcon.tsx new file mode 100644 index 0000000..b19574b --- /dev/null +++ b/src/components/icons/amentities/SoundproofMeetingPodsIcon.tsx @@ -0,0 +1,23 @@ +function SoundproofMeetingPodsIcon() { + return ( + + + + + + ); +} + +export default SoundproofMeetingPodsIcon; diff --git a/src/components/icons/amentities/StargazingIcon.tsx b/src/components/icons/amentities/StargazingIcon.tsx new file mode 100644 index 0000000..256d716 --- /dev/null +++ b/src/components/icons/amentities/StargazingIcon.tsx @@ -0,0 +1,32 @@ +function StargazingIcon() { + return ( + + + + + + + + + ); +} + +export default StargazingIcon; diff --git a/src/components/icons/amentities/SunLoungeIcon.tsx b/src/components/icons/amentities/SunLoungeIcon.tsx new file mode 100644 index 0000000..a1703b6 --- /dev/null +++ b/src/components/icons/amentities/SunLoungeIcon.tsx @@ -0,0 +1,14 @@ +function SunLoungeIcon() { + return ( + + + + ); +} + +export default SunLoungeIcon; diff --git a/src/components/icons/amentities/SunkenGardensIcon.tsx b/src/components/icons/amentities/SunkenGardensIcon.tsx new file mode 100644 index 0000000..00756c9 --- /dev/null +++ b/src/components/icons/amentities/SunkenGardensIcon.tsx @@ -0,0 +1,16 @@ +function SunkenGardensIcon() { + return ( + + + + + ); +} + +export default SunkenGardensIcon; diff --git a/src/components/icons/amentities/SunkenSeatingIcon.tsx b/src/components/icons/amentities/SunkenSeatingIcon.tsx new file mode 100644 index 0000000..6434a7a --- /dev/null +++ b/src/components/icons/amentities/SunkenSeatingIcon.tsx @@ -0,0 +1,16 @@ +function SunkenSeatingIcon() { + return ( + + + + + ); +} + +export default SunkenSeatingIcon; diff --git a/src/components/icons/amentities/SuspendedLoungingNetsIcon.tsx b/src/components/icons/amentities/SuspendedLoungingNetsIcon.tsx new file mode 100644 index 0000000..d3e483e --- /dev/null +++ b/src/components/icons/amentities/SuspendedLoungingNetsIcon.tsx @@ -0,0 +1,12 @@ +function SuspendedLoungingNetsIcon() { + return ( + + + + ); +} + +export default SuspendedLoungingNetsIcon; diff --git a/src/components/icons/amentities/UrbanBeachPoolIcon.tsx b/src/components/icons/amentities/UrbanBeachPoolIcon.tsx new file mode 100644 index 0000000..4c4a3b9 --- /dev/null +++ b/src/components/icons/amentities/UrbanBeachPoolIcon.tsx @@ -0,0 +1,78 @@ +function UrbanBeachPoolIcon() { + return ( + + + + + + + + + + + + + + + + + ); +} + +export default UrbanBeachPoolIcon; diff --git a/src/components/icons/amentities/ViewingDeckWithWingsIcon.tsx b/src/components/icons/amentities/ViewingDeckWithWingsIcon.tsx new file mode 100644 index 0000000..d10243b --- /dev/null +++ b/src/components/icons/amentities/ViewingDeckWithWingsIcon.tsx @@ -0,0 +1,24 @@ +function ViewingDeckWithWingsIcon() { + return ( + + + + + + + ); +} + +export default ViewingDeckWithWingsIcon; diff --git a/src/components/icons/amentities/WellnessIcon.tsx b/src/components/icons/amentities/WellnessIcon.tsx new file mode 100644 index 0000000..78b48e9 --- /dev/null +++ b/src/components/icons/amentities/WellnessIcon.tsx @@ -0,0 +1,16 @@ +function WellnessIcon() { + return ( + + + + + ); +} + +export default WellnessIcon; diff --git a/src/components/icons/amentities/YogaLoungeIcon.tsx b/src/components/icons/amentities/YogaLoungeIcon.tsx new file mode 100644 index 0000000..5db6010 --- /dev/null +++ b/src/components/icons/amentities/YogaLoungeIcon.tsx @@ -0,0 +1,15 @@ +function YogaLoungeIcon() { + return ( + + + + ); +} + +export default YogaLoungeIcon; diff --git a/src/pages/FloorsPage.tsx b/src/pages/FloorsPage.tsx index 531fd27..023da7f 100644 --- a/src/pages/FloorsPage.tsx +++ b/src/pages/FloorsPage.tsx @@ -13,6 +13,9 @@ import GroundMarasiDrive from "../components/floor-plans/marasi-drive/GroundMara import PodiumMarasiDrive from "../components/floor-plans/marasi-drive/PodiumMarasiDrive"; import SkyGardenMarasiDrive from "../components/floor-plans/marasi-drive/SkyGardenMarasiDrive"; import Badge from "../components/ui/Badge"; +import RooftopDubaiMarina from "../components/floor-plans/dubai-marina/RooftopDubaiMarina"; +import GroundDubaiMarina from "../components/floor-plans/dubai-marina/GroundDubaiMarina"; +import PodiumDubaiMarina from "../components/floor-plans/dubai-marina/PodiumDubaiMarina"; function FloorsPage() { const { complexName } = useParams(); @@ -47,44 +50,45 @@ function FloorsPage() { onClose={() => setSelectedFloor(null)} > {complexName === "dubai-marina" && ( -
-
-

{selectedFloor} floor

-
- {/*
-

16 Apartments

+ <> + {selectedFloor === "Rooftop" && } + {selectedFloor === "Ground Level" && } + {selectedFloor === "Podium Level" && } + {!!parseInt(selectedFloor!) && ( +
+
+

{selectedFloor} floor

+
+ + +
-
-

Combinable

-
*/} - - -
-
-
-
- item.floor.toString()) || [] + } + defaultOption={selectedFloor?.toString() || ""} + onSelect={(floor) => setSelectedFloor(floor)} + className="2xl:w-[8.333vw]" + /> +
+
+ + + + +
+
+
+ +
-
- -
-
-
+ )} + )} {complexName === "marasi-drive" && ( <> @@ -92,13 +96,15 @@ function FloorsPage() { {selectedFloor === "Ground Level" && } {selectedFloor === "Podium Level" && } {selectedFloor === "Sky Garden" && } - {!!parseInt(selectedFloor!) && ( + {selectedFloor && !!parseInt(selectedFloor.split(" ").at(-1)!) && (

{selectedFloor} floor

- +
)}