31 lines
724 B
TypeScript
31 lines
724 B
TypeScript
export interface RaceListItemViewModel {
|
|
id: string;
|
|
track: string;
|
|
car: string;
|
|
scheduledAt: string;
|
|
status: 'scheduled' | 'running' | 'completed' | 'cancelled';
|
|
leagueId: string;
|
|
leagueName: string;
|
|
strengthOfField: number | null;
|
|
isUpcoming: boolean;
|
|
isLive: boolean;
|
|
isPast: boolean;
|
|
}
|
|
|
|
export interface RacesPageViewModel {
|
|
races: RaceListItemViewModel[];
|
|
stats: {
|
|
total: number;
|
|
scheduled: number;
|
|
running: number;
|
|
completed: number;
|
|
};
|
|
liveRaces: RaceListItemViewModel[];
|
|
upcomingThisWeek: RaceListItemViewModel[];
|
|
recentResults: RaceListItemViewModel[];
|
|
}
|
|
|
|
export interface IRacesPagePresenter {
|
|
present(races: any[]): void;
|
|
getViewModel(): RacesPageViewModel;
|
|
} |