'use client'; import { Box } from '@/ui/Box'; import { Text } from '@/ui/Text'; import { Stack } from '@/ui/Stack'; import { RaceRow } from '@/ui/RaceRow'; import { RaceRowCell } from '@/ui/RaceRowCell'; import { StatusBadge } from '@/ui/StatusBadge'; import { Icon } from '@/ui/Icon'; import { Clock, MapPin, Car as CarIcon } from 'lucide-react'; import Link from 'next/link'; interface RaceListRowProps { race: { id: string; track: string; car: string; leagueName: string; timeLabel: string; status: string; isLive: boolean; isPast: boolean; }; onClick: (id: string) => void; } export function RaceListRow({ race, onClick }: RaceListRowProps) { const status = race.isLive ? 'live' : (race.isPast ? 'past' : 'upcoming'); const emphasis = race.isPast ? 'low' : 'medium'; return ( { e.preventDefault(); onClick(race.id); }} status={status} emphasis={emphasis} > {race.timeLabel} {race.isLive && ( Live )} {race.track} {race.leagueName} {race.car} {race.status} ); } function getStatusVariant(status: string): any { switch (status.toLowerCase()) { case 'running': return 'success'; case 'completed': return 'neutral'; case 'cancelled': return 'error'; case 'scheduled': return 'info'; default: return 'neutral'; } }