import React from "react"; import Link from "next/link"; import { AnnonceProps } from "@/lib/types/AnnonceProps"; import RoomComponent from "./chunks/roomComponent"; import BathRoomComponent from "./chunks/bathRoomComponent"; import FloorComponent from "./chunks/floorComponent"; import AeraComponent from "./chunks/aeraComponent"; type CardAnnonceProps = Pick< AnnonceProps, | "id" | "title" | "address" | "city" | "postalCode" | "country" | "price" | "mainImg" | "surface" | "numberOfRooms" | "numberOfBathrooms" | "floor" | "yearBuilt" | "type" | "avaibleFrom" | "realeSteateStatus" >; export const CardAnnonce: React.FC = ({ id, title, address, city, postalCode, country, price, mainImg, surface, numberOfRooms, numberOfBathrooms, floor, yearBuilt, type, avaibleFrom, realeSteateStatus, }) => { const formattedPrice = new Intl.NumberFormat("fr-FR", { style: "currency", currency: "EUR", minimumFractionDigits: 0, }).format(price); const formattedDate = new Date(avaibleFrom).toLocaleDateString("fr-FR", { day: "2-digit", month: "long", year: "numeric", }); const imageSrc = mainImg ? `data:image/jpeg;base64,${mainImg}` : "/default-image-annonce.jpg"; const available = realeSteateStatus !== "RENTED" && realeSteateStatus !== "SOLD"; return (
{title}
{realeSteateStatus === "RENTED" && (
LOUé
)} {realeSteateStatus === "SOLD" && (
VENDU
)} {available && (
{type === "RENT" ? "LOCATION" : "ACHAT"}
)}

{title}

{city}, {country}

{formattedPrice}

); };