import { useState } from 'react'; import { useParams } from 'react-router-dom'; import { Heart, MapPin, Eye, Star, MessageSquare, Share2, Flag } from 'lucide-react'; import { Card } from '../components/ui/Card'; import { GradientButton } from '../components/ui/GradientButton'; import { Button } from '../components/ui/Button'; import { Badge } from '../components/ui/Badge'; import { Avatar } from '../components/ui/Avatar'; import { Modal } from '../components/ui/Modal'; import { Input } from '../components/ui/Input'; import { mockListings } from '../utils/mockData'; import { formatCurrency, formatDate } from '../utils/format'; export function ProductDetailPage() { const { id } = useParams(); const listing = mockListings.find(l => l.id === id) || mockListings[0]!; const [isFav, setIsFav] = useState(listing.isFavorited ?? false); const [showOffer, setShowOffer] = useState(false); const [showEdit, setShowEdit] = useState(false); const [offerAmount, setOfferAmount] = useState(''); const [offerMessage, setOfferMessage] = useState(''); const conditionVariant = listing.condition === 'NEW' ? 'success' : listing.condition === 'LIKE_NEW' ? 'info' : 'default'; const categoryEmoji = listing.category === 'FURNITURE' ? '\uD83E\uDE91' : listing.category === 'ELECTRONICS' ? '\uD83C\uDFA7' : listing.category === 'CLOTHING' ? '\uD83D\uDC55' : listing.category === 'HOME_GARDEN' ? '\u2615' : '\uD83D\uDCE6'; return (
{formatCurrency(listing.price)} {listing.obo && or best offer}
{listing.description}
Enter your offer amount and message to the seller