import { useState } from 'react'; import { Link } from 'react-router-dom'; import { Heart, MapPin } from 'lucide-react'; import { Badge } from '../ui/Badge'; import type { Listing } from '../../types'; import { formatCurrency } from '../../utils/format'; interface ListingCardProps { listing: Listing; } export function ListingCard({ listing }: ListingCardProps) { const [isFav, setIsFav] = useState(listing.isFavorited ?? false); const conditionVariant = listing.condition === 'NEW' ? 'success' : listing.condition === 'LIKE_NEW' ? 'info' : 'default'; return (
{/* Image */}
{listing.category === 'FURNITURE' ? '\uD83E\uDE91' : listing.category === 'ELECTRONICS' ? '\uD83C\uDFA7' : listing.category === 'CLOTHING' ? '\uD83D\uDC55' : listing.category === 'HOME_GARDEN' ? '\u2615' : listing.category === 'SPORTS' ? '\uD83D\uDEB4' : listing.category === 'BOOKS' ? '\uD83D\uDCDA' : listing.category === 'GAMES' ? '\uD83C\uDFAE' : '\uD83D\uDCE6'}
{/* Content */}

{listing.title}

{formatCurrency(listing.price)} {listing.obo && OBO}

{listing.condition.replace('_', ' ')} {listing.location}
); }