'use client'; import { Building2, MapPin } from 'lucide-react'; import Image from 'next/image'; import { Badge } from '@/components/ui/badge'; import { Card, CardContent } from '@/components/ui/card'; import { Link } from '@/i18n/navigation'; import { formatPrice } from '@/lib/currency'; import { PROJECT_PROPERTY_TYPE_LABELS, PROJECT_STATUS_COLORS, PROJECT_STATUS_LABELS, type ProjectSummary, } from '@/lib/du-an-api'; import { cn } from '@/lib/utils'; interface ProjectCardProps { project: ProjectSummary; } export function ProjectCard({ project }: ProjectCardProps) { const statusLabel = PROJECT_STATUS_LABELS[project.status]; const statusColor = PROJECT_STATUS_COLORS[project.status]; const propertyLabels = project.propertyTypes .map((t) => PROJECT_PROPERTY_TYPE_LABELS[t]) .join(', '); return ( {/* Thumbnail */}
{project.thumbnailUrl ? ( {project.name} ) : (
)} {statusLabel}

{project.name}

{project.district}, {project.city}
{propertyLabels}
{/* Developer */}

{project.developer.name}

{/* Price range */}
{project.minPrice ? (

{formatPrice(project.minPrice)} {project.maxPrice && project.maxPrice !== project.minPrice && ( – {formatPrice(project.maxPrice)} )}

) : (

Liên hệ

)} {project.totalUnits} căn
); }