'use client'; import { Eye, MapPin, Package } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { Card, CardContent } from '@/components/ui/card'; import { Link } from '@/i18n/navigation'; import { type TransferListingListItem, CATEGORY_ICONS, CATEGORY_LABELS, STATUS_LABELS, } from '@/lib/chuyen-nhuong-api'; interface TransferListingCardProps { listing: TransferListingListItem; } function formatVND(value: string): string { return new Intl.NumberFormat('vi-VN').format(Number(value)) + ' \u20ab'; } export function TransferListingCard({ listing }: TransferListingCardProps) { const statusColor = listing.status === 'ACTIVE' ? 'bg-green-100 text-green-800' : listing.status === 'RESERVED' ? 'bg-amber-100 text-amber-800' : listing.status === 'SOLD' ? 'bg-red-100 text-red-800' : 'bg-gray-100 text-gray-800'; return ( {/* Header */} {listing.title} {STATUS_LABELS[listing.status]} {/* Category */} {(() => { const Icon = CATEGORY_ICONS[listing.category]; return ; })()} {CATEGORY_LABELS[listing.category]} {/* Location */} {listing.district}, {listing.city} {/* Price */} {formatVND(listing.askingPriceVND)} {listing.isNegotiable && ( Thương lượng )} {/* Stats grid */} Món {listing.itemCount} Lượt xem {listing.viewCount} {listing.areaM2 && ( Diện tích {listing.areaM2} m² )} {/* Footer */} {listing.publishedAt && ( Đăng {new Date(listing.publishedAt).toLocaleDateString('vi-VN')} )} ); }
{formatVND(listing.askingPriceVND)}