/* eslint-disable react-hooks/exhaustive-deps */ import { useFavoritesUnitsStore } from "../stores/useFavoritesUnitsStore"; import { Unit } from "../types/IUnit"; import FilledHeartIcon from "./icons/FilledHeartIcon"; import HeartIcon from "./icons/HeartIcon"; import Button from "./ui/Button"; import "react-loading-skeleton/dist/skeleton.css"; import Skeleton from "react-loading-skeleton"; import { formattedUnitTypes } from "../data/formattedUnitTypes"; import { Link } from "react-router"; import complexNameToSlug from "../utils/complexNameToSlug"; import { projects } from "../data/projects"; import { useEffect, useState } from "react"; import { getUnitTypeVariantMarasiDrive } from "../utils/getUnitTypeVariantMarasiDrive"; import { getUnitTypeVariantDubaiMarina } from "../utils/getUnitTypeVariantDubaiMarina"; function UnitCard({ unit }: { unit: Unit }) { const { favoriteUnits, setFavoriteUnits } = useFavoritesUnitsStore(); const [complexSlug, setComplexSlug] = useState(""); function handleFavorite(e: React.MouseEvent) { e.preventDefault(); if (favoriteUnits.some((favoriteUnit) => favoriteUnit.id === unit.id)) { setFavoriteUnits( favoriteUnits.filter((favoriteUnit) => favoriteUnit.id !== unit.id) ); } else { setFavoriteUnits([...favoriteUnits, unit]); } } useEffect(() => { const complexSlug = projects.find( (project) => project.title === unit.project )?.slug; if (complexSlug) { setComplexSlug(complexSlug); } }, [unit]); return (

{unit.project || }

{`${unit.unitNo.split("-")[0] === "W" ? "West" : "East"} Wing`}

Floor {unit.floor}

{unit.unitNo}

{`${formattedUnitTypes.get( unit.unitType )}, ${unit.squareFt.toLocaleString(undefined, { maximumFractionDigits: 2, })} Sqft`}

{

{`AED ${Intl.NumberFormat("ar-AE", { currency: "AED", minimumFractionDigits: 0, }).format(unit.salesPrice)}`}

}
); } export default UnitCard;