'use client'; import { SidebarRaceItem } from '@/components/races/SidebarRaceItem'; import { routes } from '@/lib/routing/RouteConfig'; import type { RaceViewData } from '@/lib/view-data/RacesViewData'; import { Panel } from '@/ui/Panel'; import { SidebarActionLink } from '@/ui/SidebarActionLink'; import { Text } from '@/ui/Text'; import { Stack } from '@/ui/Stack'; import { Box } from '@/ui/Box'; import { Trophy, Users } from 'lucide-react'; import React from 'react'; interface RaceSidebarProps { upcomingRaces: RaceViewData[]; recentResults: RaceViewData[]; onRaceClick: (raceId: string) => void; } export function RaceSidebar({ upcomingRaces, recentResults, onRaceClick }: RaceSidebarProps) { return ( {/* Upcoming This Week */} {upcomingRaces.length === 0 ? ( No races scheduled this week ) : ( {upcomingRaces.map((race) => ( onRaceClick(race.id)} /> ))} )} {/* Recent Results */} {recentResults.length === 0 ? ( No completed races yet ) : ( {recentResults.map((race) => ( onRaceClick(race.id)} /> ))} )} {/* Quick Actions */} ); }