diff --git a/src/components/ui/Select.tsx b/src/components/ui/Select.tsx
index f9e114b..c1c0a0b 100644
--- a/src/components/ui/Select.tsx
+++ b/src/components/ui/Select.tsx
@@ -88,7 +88,7 @@ function Select({
>
diff --git a/src/pages/FloorsPage.tsx b/src/pages/FloorsPage.tsx
index db47e1d..c6c340e 100644
--- a/src/pages/FloorsPage.tsx
+++ b/src/pages/FloorsPage.tsx
@@ -2,7 +2,7 @@ import FloorSelect, { FloorsData } from "../components/FloorSelect";
import { useParams } from "react-router";
import FloorSidebar from "../components/FloorSidebar";
import FloorPlanDubaiMarina from "../components/FloorPlanDubaiMarina";
-import { useEffect, useState } from "react";
+import { useState } from "react";
import Select from "../components/ui/Select";
import { useQuery } from "@tanstack/react-query";
import { api } from "../api/ky";
@@ -23,10 +23,6 @@ function FloorsPage() {
const { complexName } = useParams();
const [selectedFloor, setSelectedFloor] = useState(null);
- useEffect(() => {
- console.log("selectedFloor", selectedFloor?.split(" ")[0]);
- }, [selectedFloor]);
-
const { data: floorsData } = useQuery({
queryKey: ["floors-data", complexName],
queryFn: () =>
@@ -76,12 +72,40 @@ function FloorsPage() {
onSelect={(floor) => setSelectedFloor(floor)}
className="2xl:w-[8.333vw]"
/>
-
+
-
-
-
-
+ item.floor === parseInt(selectedFloor!)
+ )?.West.types.StudioFlex || 0
+ }
+ />
+ item.floor === parseInt(selectedFloor!)
+ )?.West.types.Studio || 0
+ }
+ />
+ item.floor === parseInt(selectedFloor!)
+ )?.West.types["1 Bedroom"] || 0
+ }
+ />
+ item.floor === parseInt(selectedFloor!)
+ )?.West.types["2 Bedroom"] || 0
+ }
+ />
@@ -101,7 +125,77 @@ function FloorsPage() {
{selectedFloor && !!parseInt(selectedFloor.split(" ").at(-1)!) && (
-
{selectedFloor} floor
+
+ {selectedFloor.split(" ").at(-1)} floor
+
+
+
+ item.floor ===
+ parseInt(selectedFloor.split(" ").at(-1)!)
+ )?.East?.totalUnits || 0) +
+ (floorsData?.find(
+ (item) =>
+ item.floor ===
+ parseInt(selectedFloor.split(" ").at(-1)!)
+ )?.West?.totalUnits || 0)
+ } Apartments`}
+ />
+
+
+
+
+
+
{selectedFloor.split(" ")[0] === "East" && (
diff --git a/src/pages/UnitPage.tsx b/src/pages/UnitPage.tsx
index 570b104..24fdc24 100644
--- a/src/pages/UnitPage.tsx
+++ b/src/pages/UnitPage.tsx
@@ -8,20 +8,21 @@ import FilledHeartIcon from "../components/icons/FilledHeartIcon";
import { useFavoritesUnitsStore } from "../stores/useFavoritesUnitsStore";
import HeartIcon from "../components/icons/HeartIcon";
import PlayIcon from "../components/icons/PlayIcon";
-import { useEffect } from "react";
+import slugToComplexName from "../utils/slugToComplexName";
+import { useRef } from "react";
function UnitPage() {
const params = useParams<{ complexName: string; unitNumber: string }>();
- useEffect(() => {
- console.log(params);
- }, [params]);
-
const { data: unit } = useQuery({
queryKey: ["unit", params.complexName, params.unitNumber],
queryFn: () =>
api
- .get(`units/${params.unitNumber}?project=${params.complexName}`)
+ .get(
+ `units/${params.unitNumber}?project=${slugToComplexName(
+ params.complexName!
+ )}`
+ )
.json(),
});
@@ -36,6 +37,8 @@ function UnitPage() {
else setFavoriteUnits([...favoriteUnits, unit]);
}
+ const videoButtonRef = useRef(null);
+
if (!unit) return null;
return (
@@ -81,20 +84,59 @@ function UnitPage() {
-
+
videoButtonRef && videoButtonRef.current?.click()}
+ >
ORI Cloud Bed
Live in the future, today
-
+
+
+
Total Area
+
{unit.squareFt} Sqft
+
+
+
Suite Area
+
{unit.suitsArea} Sqft
+
+
+
Balcony Area
+
{unit.balconyArea} Sqft
+
+
+
Status
+
{unit.state}
+
+
+
Pasking Space
+
{unit.noOfParkingSpace}
+
+
+
{`AED ${Intl.NumberFormat(
+ "ar-AE",
+ {
+ currency: "AED",
+ minimumFractionDigits: 0,
+ }
+ ).format(unit.salesPrice)}`}
+
+
+
+ Virtual tour
+
+ Book
diff --git a/src/utils/complexNameToSlug.ts b/src/utils/complexNameToSlug.ts
new file mode 100644
index 0000000..0b84289
--- /dev/null
+++ b/src/utils/complexNameToSlug.ts
@@ -0,0 +1,7 @@
+export default function complexNameToSlug(complexName: string) {
+ return complexName
+ .split(" ")
+ .slice(2)
+ .map((w) => w.toLowerCase())
+ .join("-");
+}
diff --git a/src/utils/slugToComplexName.ts b/src/utils/slugToComplexName.ts
new file mode 100644
index 0000000..bf873a8
--- /dev/null
+++ b/src/utils/slugToComplexName.ts
@@ -0,0 +1,6 @@
+export default function slugToComplexName(slug: string) {
+ return `Rove Home ${slug
+ .split("-")
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
+ .join(" ")}`;
+}