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 (
{sent ? : } Sent
|
{received ? : } Received
);
};
/**
* 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 */}

{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;