diff --git a/src/components/UnitCard.tsx b/src/components/UnitCard.tsx index dc776bc..b5f3240 100644 --- a/src/components/UnitCard.tsx +++ b/src/components/UnitCard.tsx @@ -1,3 +1,5 @@ +import { useEffect, useState } from "react"; +import { useFavorites } from "../stores/useFavorites"; import { IUnit } from "../types/IUnit"; import HeartIcon from "./icons/HeartIcon"; import Button from "./ui/Button"; @@ -9,7 +11,44 @@ function UnitCard({ unitType, squareFt, salesPrice, + id, + noOfBathrooms, + unitView, + suitsArea, + noOfParkingSpace, + state, + balconyArea, }: IUnit) { + const { units, setUnits} = useFavorites(); + const [isFavorite, setIsFavorite] = useState(false); + + function handleFavorite() { + setIsFavorite(!isFavorite); + if (isFavorite) { + setUnits(units.filter((unit) => unit.id !== id)); + } else { + setUnits([...units, { + id: id, + project: project, + unitNo: unitNo, + floor: floor, + unitType: unitType, + squareFt: squareFt, + salesPrice: salesPrice, + noOfBathrooms: noOfBathrooms, + unitView: unitView, + suitsArea: suitsArea, + noOfParkingSpace: noOfParkingSpace, + state: state, + balconyArea: balconyArea, + }]) + } +} + + useEffect(() => { + setIsFavorite(units.some((unit) => unit.id === id)); + }, [id, units]); + return (