import { useNavigate, Link } from 'react-router-dom'; import { MessageCircle, Video, Star, Check, Clock } from 'lucide-react'; /** * Video exchange status indicator */ const VideoStatus = ({ exchange }) => { const sent = exchange?.sentByMe; const received = exchange?.receivedFromPartner; return (
); }; /** * Rating status indicator */ const RatingStatus = ({ ratings }) => { const ratedByMe = ratings?.ratedByMe; const ratedByPartner = ratings?.ratedByPartner; return (
{ratedByMe ? : } You | {ratedByPartner ? : } Partner
); }; /** * Match card for dashboard - shows active match with chat access */ const DashboardMatchCard = ({ match }) => { const navigate = useNavigate(); const { partner, event, videoExchange, ratings, unreadCount } = match; // Can rate when video exchange is complete and user hasn't rated yet const canRate = videoExchange?.sentByMe && videoExchange?.receivedFromPartner && !ratings?.ratedByMe; return (
{/* Avatar */} {partner.username} {unreadCount > 0 && ( {unreadCount > 9 ? '9+' : unreadCount} )} {/* Content */}

{partner.firstName && partner.lastName ? `${partner.firstName} ${partner.lastName}` : partner.username}

@{partner.username}

{event.name}

{/* Status Indicators */}
{/* Actions */}
{canRate && ( )}
); }; export default DashboardMatchCard;