27 lines
766 B
TypeScript
27 lines
766 B
TypeScript
export type AllRacesStatus = 'scheduled' | 'running' | 'completed' | 'cancelled' | 'all';
|
|
|
|
export interface AllRacesListItemViewModel {
|
|
id: string;
|
|
track: string;
|
|
car: string;
|
|
scheduledAt: string;
|
|
status: 'scheduled' | 'running' | 'completed' | 'cancelled';
|
|
leagueId: string;
|
|
leagueName: string;
|
|
strengthOfField: number | null;
|
|
}
|
|
|
|
export interface AllRacesFilterOptionsViewModel {
|
|
statuses: { value: AllRacesStatus; label: string }[];
|
|
leagues: { id: string; name: string }[];
|
|
}
|
|
|
|
export interface AllRacesPageViewModel {
|
|
races: AllRacesListItemViewModel[];
|
|
filters: AllRacesFilterOptionsViewModel;
|
|
}
|
|
|
|
export interface IAllRacesPagePresenter {
|
|
present(viewModel: AllRacesPageViewModel): void;
|
|
getViewModel(): AllRacesPageViewModel | null;
|
|
} |