Files
gridpilot.gg/apps/website/lib/view-data/RacesViewData.ts
2026-01-19 00:46:46 +01:00

38 lines
894 B
TypeScript

export interface RaceViewData {
id: string;
track: string;
car: string;
scheduledAt: string;
scheduledAtLabel: string;
timeLabel: string;
relativeTimeLabel: string;
status: 'scheduled' | 'running' | 'completed' | 'cancelled';
statusLabel: string;
statusVariant: string;
statusIconName: string;
sessionType: string;
leagueId: string | null;
leagueName: string | null;
strengthOfField: number | null;
isUpcoming: boolean;
isLive: boolean;
isPast: boolean;
}
export interface RacesViewData {
races: RaceViewData[];
totalCount: number;
scheduledCount: number;
runningCount: number;
completedCount: number;
leagues: Array<{ id: string; name: string }>;
upcomingRaces: RaceViewData[];
liveRaces: RaceViewData[];
recentResults: RaceViewData[];
racesByDate: Array<{
dateKey: string;
dateLabel: string;
races: RaceViewData[];
}>;
}