'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 ? ( ) : ( )} {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 ); }
{project.developer.name}
{formatPrice(project.minPrice)} {project.maxPrice && project.maxPrice !== project.minPrice && ( – {formatPrice(project.maxPrice)} )}
Liên hệ