diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 3a890a8..7fff11c 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -140,7 +140,7 @@ function Footer() { animate={{ opacity: 1, x: "0%" }} exit={{ opacity: 0, x: "100%" }} transition={{ bounce: 0, duration: 0.3 }} - className="max-2xl:hidden p-[1.667vw] flex gap-[1.111vw] justify-stretch items-stretch fixed top-[calc(3.889vw+20px)] left-[57.083vw] w-[32.222vw] rounded-[1.111vw] bg-white shadow-[0_2px_8px_rgba(0,0,0,0.15)]" + className="max-2xl:hidden p-[1.667vw] flex gap-[1.111vw] justify-stretch items-stretch fixed top-[calc(3.889vw+20px)] left-[44.028vw] w-[32.222vw] rounded-[1.111vw] bg-white shadow-[0_2px_8px_rgba(0,0,0,0.15)]" >

Rove Home Marasi Drive

diff --git a/src/components/UnitTypeCard.tsx b/src/components/UnitTypeCard.tsx index 2b133c4..e7ef389 100644 --- a/src/components/UnitTypeCard.tsx +++ b/src/components/UnitTypeCard.tsx @@ -1,8 +1,12 @@ +import { Link } from "react-router"; import UnitType from "../types/UnitType"; function UnitTypeCard({ project, type }: { project: string; type: UnitType }) { return ( -
+

{project}

@@ -20,7 +24,7 @@ function UnitTypeCard({ project, type }: { project: string; type: UnitType }) {

{type.area}

{type.name}

-
+ ); } diff --git a/src/components/UnitTypeItem.tsx b/src/components/UnitTypeItem.tsx new file mode 100644 index 0000000..8f143bc --- /dev/null +++ b/src/components/UnitTypeItem.tsx @@ -0,0 +1,78 @@ +import PlayIcon from "./icons/PlayIcon"; +import ShareIcon from "./icons/ShareIcon"; +import Button from "./ui/Button"; + +interface UnitTypeItemProps { + title: string; + project: string; + wing?: string; + floor: [number, number]; + video: { title: string; desc: string }; + texts: [string, string]; +} + +function UnitTypeItem({ + title, + project, + wing, + floor, + video, + texts, +}: UnitTypeItemProps) { + return ( +
+
+
+
+
+
+

{title}

+

+ Up to 366 Sqft +

+
+ +
+
+

{project}

+
+

{wing ?? ""}

+
+

Floor 5-21

+
+

{floor.join("-")}

+
+
+
+
+
+

{video.title}

+

{video.desc}

+
+ +
+
+

{texts[0]}

+

{texts[1]}

+
+
+
+ + +
+
+
+ ); +} + +export default UnitTypeItem; diff --git a/src/pages/ApartmentItem.tsx b/src/pages/ApartmentItem.tsx new file mode 100644 index 0000000..ffce8b2 --- /dev/null +++ b/src/pages/ApartmentItem.tsx @@ -0,0 +1,114 @@ +import HeartIcon from "../components/icons/HeartIcon"; +import PlayIcon from "../components/icons/PlayIcon"; +import ShareIcon from "../components/icons/ShareIcon"; +import Button from "../components/ui/Button"; + +interface ApartmentItemProps { + title: string; + project: string; + wing?: string; + floor: number; + number: string; + video: { title: string; desc: string }; + sqft: number; + suite: number; + balcony: number; + status: string; + parkingSpace: number; + price: number; +} + +function ApartmentItem({ + title, + project, + wing, + floor, + number, + video, + sqft, + suite, + balcony, + status, + parkingSpace, + price, +}: ApartmentItemProps) { + return ( +
+
+
+
+
+
+

{title}

+
+

{project}

+
+

{wing ?? ""}

+
+

Floor {floor}

+
+

{number}

+
+
+
+
+ + +
+
+
+
+
+

{video.title}

+

{video.desc}

+
+ +
+
+
+

Total Area

+

{sqft} Sqft

+
+
+

Suite Area

+

{suite} Sqft

+
+
+

Balcony Area

+

{balcony} Sqft

+
+
+

Status

+

{status}

+
+
+

Parking Space

+

{parkingSpace}

+
+
+

AED {price}

+
+
+ + +
+
+
+ ); +} + +export default ApartmentItem; diff --git a/src/pages/FavouritesPage.tsx b/src/pages/FavouritesPage.tsx index f5909d0..6731f70 100644 --- a/src/pages/FavouritesPage.tsx +++ b/src/pages/FavouritesPage.tsx @@ -253,6 +253,11 @@ function FavoritesPage() {
+
{(!removeSimilar || diff --git a/src/pages/UnitTypeItemPage.tsx b/src/pages/UnitTypeItemPage.tsx index ca37fdb..c2080b8 100644 --- a/src/pages/UnitTypeItemPage.tsx +++ b/src/pages/UnitTypeItemPage.tsx @@ -1,69 +1,40 @@ -import PlayIcon from "../components/icons/PlayIcon"; -import ShareIcon from "../components/icons/ShareIcon"; -import Button from "../components/ui/Button"; +import UnitTypeItem from "../components/UnitTypeItem"; +import ApartmentItem from "./ApartmentItem"; function UnitTypeItemPage() { return (
-
-
-
-
-
-
-

Studio Flex

-

- Up to 366 Sqft -

-
- -
-
-

Rove Home Marasi Drive

-
-

East Wing

-
-

Floor 5-21

-
-
-
-
-
-

ORI Cloud Bed

-

- Live in the future, today -

-
- -
-
-

- In Studio Flex explore the ORI Cloud Bed, optimizing your living - space with functionality and smart living. -

-

- Every inch is designed to provide more space for comfort and - convenience. This feature increase your unit size by 33% -

-
-
-
- - -
-
-
-
+ +
); }