'use client'; import Link from 'next/link'; import { ChevronRight } from 'lucide-react'; import { Race } from '@gridpilot/racing/domain/entities/Race'; import { Result } from '@gridpilot/racing/domain/entities/Result'; import { League } from '@gridpilot/racing/domain/entities/League'; interface RaceResultCardProps { race: Race; result: Result; league?: League; 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}
{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 )}
); }