upd
This commit is contained in:
@@ -54,12 +54,12 @@ const ApartmentSidebar = ({ currentApartment }: ApartmentSidebarProps) => {
|
||||
<div className="flex justify-between text-m">
|
||||
<p className="text-[#73787C]">Size</p>
|
||||
<p className="text-[#0D1922]">
|
||||
{currentApartment.Total_Area_Sqft} Sqft
|
||||
{Number(currentApartment.Total_Area_Sqft).toFixed(2)} Sqft
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-[#00BED7] font-semibold text-subheadline-s leading-7">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
{/* AED {formatNumber(1668888, ",", 3, 1)} */}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -43,11 +43,11 @@ const SimilarAppartmentCard = ({ layoutCard, elementRef }: LayoutCardProps) => {
|
||||
</div>
|
||||
<div className="flex flex-col">
|
||||
<p className="text[#0D1922] text-s">
|
||||
{Unit_Type}, {Total_Area_Sqft} Sqft
|
||||
{Unit_Type}, {Number(Total_Area_Sqft).toFixed(2)} Sqft
|
||||
</p>
|
||||
<p className="text-[#00BED7] text-m font-bold">
|
||||
{/* AED {formatNumber(cost, ",", 3, 1)} */}
|
||||
Unavailiable
|
||||
Unavailable
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -21,8 +21,8 @@ const apartmentDescriptions: IApartmentDesc[] = [
|
||||
secondParagraph:
|
||||
"Every inch is designed to provide more space for comfort and convenience. This feature increase your unit size by 33%",
|
||||
id: "1",
|
||||
totalArea: "Up to 365,54 Sqft",
|
||||
cost: "Unavailiable",
|
||||
totalArea: "Up to 365.54 Sqft",
|
||||
cost: "Unavailable",
|
||||
apartmentType: "Studio Flex",
|
||||
},
|
||||
{
|
||||
@@ -32,8 +32,8 @@ const apartmentDescriptions: IApartmentDesc[] = [
|
||||
secondParagraph:
|
||||
"When folded, it unveils a spacious living room creating a cohesive space that blends both style and functionality.",
|
||||
id: "2",
|
||||
totalArea: "Up to 416,13 Sqft",
|
||||
cost: "Unavailiable",
|
||||
totalArea: "Up to 416.13 Sqft",
|
||||
cost: "Unavailable",
|
||||
apartmentType: "Studio Squared",
|
||||
},
|
||||
{
|
||||
@@ -43,8 +43,8 @@ const apartmentDescriptions: IApartmentDesc[] = [
|
||||
secondParagraph:
|
||||
"With pocket walls that disappear and a Flexibed that seamlessly converts, you can transform your living room into an extra bedroom, anytime you want!",
|
||||
id: "3",
|
||||
totalArea: "Up to 770,05 Sqft",
|
||||
cost: "Unavailiable",
|
||||
totalArea: "Up to 770.05 Sqft",
|
||||
cost: "Unavailable",
|
||||
apartmentType: "1 BR Squared",
|
||||
},
|
||||
{
|
||||
@@ -54,8 +54,8 @@ const apartmentDescriptions: IApartmentDesc[] = [
|
||||
secondParagraph:
|
||||
"Whether you want to add a multipurpose spare room or double up your living space as a bedroom - every inch of space feels larger and works exactly how you want.",
|
||||
id: "4",
|
||||
totalArea: "Up to 1057,55 Sqft",
|
||||
cost: "Unavailiable",
|
||||
totalArea: "Up to 1057.55 Sqft",
|
||||
cost: "Unavailable",
|
||||
apartmentType: "2 BR Squared",
|
||||
},
|
||||
];
|
||||
|
||||
@@ -51,7 +51,7 @@ const FloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C] w-full">Studio Flex</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -66,7 +66,7 @@ const FloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C]">Studio</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -81,7 +81,7 @@ const FloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C]">1 Bedroom</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -98,7 +98,7 @@ const FloorDescription = ({
|
||||
2 Bedroom, Type A
|
||||
</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
||||
@@ -39,7 +39,7 @@ const ApartmentDescription = ({
|
||||
<h2 className="text-[#0D1922] font-semibold">
|
||||
{hoveredApartment?.Unit_Type},{" "}
|
||||
{hoveredApartment &&
|
||||
Math.round(hoveredApartment?.Total_Area_Sqft)}{" "}
|
||||
Number(hoveredApartment?.Total_Area_Sqft).toFixed(2)}{" "}
|
||||
Sqft
|
||||
</h2>
|
||||
<div className="flex gap-2 items-center text-caption-m font-semibold pt-1 border-b pb-4 justify-start">
|
||||
@@ -51,7 +51,7 @@ const ApartmentDescription = ({
|
||||
</div>
|
||||
<div className="flex justify-between items-center pt-4 gap-14">
|
||||
<p className="font-semibold text-[#00BED7] text-subheadline-s">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
</p>
|
||||
{/* <p className="font-semibold text-[#00BED7] text-subheadline-s">
|
||||
AED 1,668,888
|
||||
|
||||
@@ -56,7 +56,7 @@ const MobileFloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C] w-full">Studio Flex</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -71,7 +71,7 @@ const MobileFloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C]">Studio</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -86,7 +86,7 @@ const MobileFloorDescription = ({
|
||||
</div>
|
||||
<p className="text-s text-[#73787C]">1 Bedroom</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<div className="flex items-center justify-between gap-8">
|
||||
<div className="flex gap-2 items-center">
|
||||
@@ -103,7 +103,7 @@ const MobileFloorDescription = ({
|
||||
2 Bedroom, Type A
|
||||
</p>
|
||||
</div>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unvailiable</p>
|
||||
<p className="text-s text-[#0D1922] text-nowrap">Unavailable</p>
|
||||
</div>
|
||||
<Button
|
||||
onClick={onClick}
|
||||
|
||||
@@ -111,11 +111,11 @@ const FavoriteAppartmentCard = ({ card }: FavoriteAppartmentCardProps) => {
|
||||
<div className="flex flex-col gap-3">
|
||||
<div className="flex flex-col gap-1">
|
||||
<p className="text[#0D1922] text-s">
|
||||
{Unit_Type}, {Total_Area_Sqft} Sqft
|
||||
{Unit_Type}, {Number(Total_Area_Sqft).toFixed(2)} Sqft
|
||||
</p>
|
||||
<p className="text-[#00BED7] text-m font-semibold">
|
||||
{/* AED {formatNumber(cost, ",", 3, 1)} */}
|
||||
Unavailiable
|
||||
Unavailable
|
||||
</p>
|
||||
</div>
|
||||
<Button
|
||||
|
||||
@@ -56,7 +56,7 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => {
|
||||
<div className="flex justify-between">
|
||||
<div className="flex text-subheadline-s font-semibold text-[#0D1922] select-none">
|
||||
<h2>
|
||||
{card.Unit_Type}, {card.Total_Area_Sqft} Sqft
|
||||
{card.Unit_Type}, {Number(card.Total_Area_Sqft).toFixed(2)} Sqft
|
||||
</h2>
|
||||
</div>
|
||||
<Button
|
||||
@@ -81,7 +81,7 @@ const FavoriteSliderCard = ({ card, elementRef }: FavoriteSliderCardProps) => {
|
||||
</div>
|
||||
<div className="flex flex-col gap-1 pb-6 border-b">
|
||||
<p className="text-s text-[#73787C]">Total Area</p>
|
||||
<p className="text-[#0D1922] text-m">{card.Total_Area_Sqft} Sqft</p>
|
||||
<p className="text-[#0D1922] text-m">{Number(card.Total_Area_Sqft).toFixed(2)} Sqft</p>
|
||||
</div>
|
||||
<div className="flex flex-col gap-1 pb-6 border-b">
|
||||
<p className="text-s text-[#73787C]">Project</p>
|
||||
|
||||
@@ -2,7 +2,6 @@ import Auth from "../Auth/Auth";
|
||||
import Logo from "../../Logo";
|
||||
import Navbar from "../Navbar/Navbar";
|
||||
import Location from "../Location";
|
||||
import DownloadIcon from "../../icons/DownloadIcon";
|
||||
|
||||
const DesktopHeader = () => (
|
||||
<header className="bg-white fixed left-0 top-0 w-full z-[99999900] font-usual text-m select-none flex justify-between">
|
||||
@@ -12,14 +11,6 @@ const DesktopHeader = () => (
|
||||
</div>
|
||||
<Navbar />
|
||||
<div className="flex gap-5">
|
||||
<a
|
||||
download
|
||||
href="/ROVE_MAIN_BROCHURE.pdf"
|
||||
className="flex items-center gap-1 text-[#73787C]"
|
||||
>
|
||||
<DownloadIcon />
|
||||
<p>Brochure</p>
|
||||
</a>
|
||||
<Auth isAuth={false} />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Tab } from "../../../types/tab";
|
||||
import DownloadIcon from "../../icons/DownloadIcon";
|
||||
import NavbarTabDesktop from "./NavbarTabDesktop";
|
||||
|
||||
interface NavbarProps {
|
||||
@@ -11,14 +12,37 @@ const NavbarDesktop = ({ selectedTab, onTabClick, tabs }: NavbarProps) => (
|
||||
<nav
|
||||
className={`text-[#091118] self-center col-span-2 justify-center flex h-full`}
|
||||
>
|
||||
{tabs.map((tab) => (
|
||||
{/* {tabs.map((tab) => (
|
||||
<NavbarTabDesktop
|
||||
key={tab.id}
|
||||
tab={tab}
|
||||
isSelected={selectedTab?.id === tab.id}
|
||||
onClick={onTabClick}
|
||||
/>
|
||||
))}
|
||||
))} */}
|
||||
{tabs.map((tab, index) => {
|
||||
if (index === 3) {
|
||||
return (
|
||||
<a
|
||||
download
|
||||
href="/ROVE_MAIN_BROCHURE.pdf"
|
||||
className="flex items-center gap-1 text-[#73787C]"
|
||||
>
|
||||
<DownloadIcon />
|
||||
<p>Brochure</p>
|
||||
</a>
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<NavbarTabDesktop
|
||||
key={tab.id}
|
||||
tab={tab}
|
||||
isSelected={selectedTab?.id === tab.id}
|
||||
onClick={onTabClick}
|
||||
/>
|
||||
);
|
||||
}
|
||||
})}
|
||||
</nav>
|
||||
);
|
||||
|
||||
|
||||
@@ -186,14 +186,14 @@ const AboutComplexModal = ({
|
||||
<div className="flex justify-between text-m">
|
||||
<p className="text-[#73787C]">Size</p>
|
||||
<p className="text-[#0D1922]">
|
||||
{Math.round(apartment.Total_Area_Sqft)} Sqft
|
||||
{Number(apartment.Total_Area_Sqft).toFixed(2)} Sqft
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-2xl bg-white flex flex-col p-6 gap-4 flex-1 lg:flex-none justify-between">
|
||||
<p className="text-[#00BED7] font-semibold text-subheadline-s leading-7">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
{/* AED {formatNumber(1668888, ",", 3, 1)} */}
|
||||
</p>
|
||||
<div className="flex gap-2">
|
||||
|
||||
@@ -43,7 +43,7 @@ const SendEnquiryModal = () => {
|
||||
1 bedroom, 609 Sqft{" "}
|
||||
</p>
|
||||
<p className="text-subheadline-s font-semibold text-[#0D192266]">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
</p>
|
||||
{/* <p className="text-subheadline-s font-semibold text-[#0D192266]">
|
||||
AED {formatNumber(1668888, ",", 3, 1)}
|
||||
|
||||
@@ -49,7 +49,7 @@ const SendEnquiryMobileModal = () => {
|
||||
</div>
|
||||
<div className="col-span-4 flex flex-col justify-between">
|
||||
<h2 className="text-[#0D1922] text-subheadline-s font-semibold">
|
||||
Studio Flex, 607,08 Sqft
|
||||
Studio Flex, 607.08 Sqft
|
||||
</h2>
|
||||
<p className="text-s text-[#00BED7] pt-2">Rove Home Marasi Drive</p>
|
||||
<div className="text-[#0D1922B2] text-caption-m font-semibold flex gap-2 items-center pt-1 border-b pb-4">
|
||||
@@ -62,15 +62,15 @@ const SendEnquiryMobileModal = () => {
|
||||
<div className="flex flex-col gap-3 pt-4">
|
||||
<div className="flex justify-between">
|
||||
<p className="text-[#0D192266] text-m">Total Area</p>
|
||||
<p className="text-m text-[#0D1922] text-right">607,08 Sqft</p>
|
||||
<p className="text-m text-[#0D1922] text-right">607.08 Sqft</p>
|
||||
</div>
|
||||
<div className="flex justify-between">
|
||||
<p className="text-[#0D192266] text-m">Suite Area</p>
|
||||
<p className="text-m text-[#0D1922] text-right">485,67 Sqft</p>
|
||||
<p className="text-m text-[#0D1922] text-right">485.67 Sqft</p>
|
||||
</div>
|
||||
<div className="flex justify-between">
|
||||
<p className="text-[#0D192266] text-m">Balcony Area</p>
|
||||
<p className="text-m text-[#0D1922] text-right">121,42 Sqft</p>
|
||||
<p className="text-m text-[#0D1922] text-right">121.42 Sqft</p>
|
||||
</div>
|
||||
<div className="flex justify-between">
|
||||
<p className="text-[#0D192266] text-m">Status</p>
|
||||
@@ -82,7 +82,7 @@ const SendEnquiryMobileModal = () => {
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-[#00BED7] font-semibold text-subheadline-s pt-6">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,9 +13,9 @@ interface LayoutCardProps {
|
||||
|
||||
const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => {
|
||||
const {
|
||||
id,
|
||||
Project_Name: projectName,
|
||||
Floor: floor,
|
||||
id,
|
||||
Unit_No: unit,
|
||||
Unit_Type: unitType,
|
||||
Total_Area_Sqft: _totalArea,
|
||||
@@ -23,7 +23,7 @@ const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => {
|
||||
const wing = unit.split("-")[0] === "E" ? "East" : "West";
|
||||
const unitNumber = unit.split("-")[1];
|
||||
|
||||
const totalArea = `${_totalArea}`.split(".").join(",");
|
||||
const totalArea = Number(_totalArea).toFixed(2);
|
||||
const [isFavorite, setIsFavorite] = useState(false);
|
||||
const { setFavorites } = useFavorites();
|
||||
const layoutImage = apartmentRoutes.find(
|
||||
@@ -116,7 +116,7 @@ const LayoutCard = ({ apartmentCard, price }: LayoutCardProps) => {
|
||||
</div>
|
||||
<div className="flex flex-col gap-1 pt-6">
|
||||
<p className="text-[#0D1922] text-s">
|
||||
{unitType}, {totalArea} Sqft
|
||||
{unitType}, {Number(totalArea).toFixed(2)} Sqft
|
||||
</p>
|
||||
<p className="text-[#00BED7] text-subheadline-s font-semibold">
|
||||
{(price &&
|
||||
|
||||
@@ -173,7 +173,8 @@ const VirtualTourSidebar = ({
|
||||
<div className="flex justify-between text-m">
|
||||
<p className="text-[#73787C]">Size</p>
|
||||
<p className="text-[#0D1922]">
|
||||
{apartment?.Total_Area_Sqft || 609} Sqft
|
||||
{Number(apartment?.Total_Area_Sqft).toFixed(2) || 609}{" "}
|
||||
Sqft
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex justify-between text-m">
|
||||
@@ -187,7 +188,7 @@ const VirtualTourSidebar = ({
|
||||
</div>
|
||||
<div className="flex flex-col">
|
||||
<h2 className="text-subheadline-s font-semibold text-[#00BED7] pt-4">
|
||||
Unvailiable
|
||||
Unavailable
|
||||
</h2>
|
||||
<div className="flex gap-2 pt-4 ">
|
||||
<Button
|
||||
|
||||
@@ -288,7 +288,7 @@ function AboutProjectsPage() {
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-s text-[#0D1922]">341 Sqft</p>
|
||||
<p className="font-bold text-m text-[#00BED7]">Unvailiable</p>
|
||||
<p className="font-bold text-m text-[#00BED7]">Unavailable</p>
|
||||
</div>
|
||||
</div>
|
||||
<img
|
||||
|
||||
@@ -102,7 +102,9 @@ function UnitTypesItemPage() {
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-sm">Up to {unitType?.sqft} Sqft</p>
|
||||
<p className="text-sm">
|
||||
Up to {Number(unitType?.sqft).toFixed(2)} Sqft
|
||||
</p>
|
||||
{/* <p className="text-xl text-[#00BED7]">from AED 1,668,888</p> */}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user