'use client'; import Link from 'next/link'; import { ChevronRight } from 'lucide-react'; import { RaceResultViewModel } from '@/lib/view-models/RaceResultViewModel'; interface RaceResultCardProps { race: { id: string; track: string; car: string; scheduledAt: string; }; result: RaceResultViewModel; league?: { name: string; }; showLeague?: boolean; } export default function RaceResultCard({ race, result, league, showLeague = true, }: RaceResultCardProps) { const getPositionColor = (position: number) => { if (position === 1) return 'bg-green-400/20 text-green-400'; if (position === 2) return 'bg-gray-400/20 text-gray-400'; if (position === 3) return 'bg-warning-amber/20 text-warning-amber'; return 'bg-charcoal-outline text-gray-400'; }; return (
P{result.position}
{race.track}
{race.car}
{new Date(race.scheduledAt).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric', })}
{showLeague && league && (
{league.name}
)}
Started P{result.startPosition} 2 ? 'text-red-400' : ''}> {result.incidents}x incidents {result.position < result.startPosition && ( <> +{result.startPosition - result.position} positions )}
); }