Files
gridpilot.gg/apps/website/lib/view-models/LeagueDetailViewModel.ts
2026-01-24 01:25:46 +01:00

21 lines
887 B
TypeScript

import { ViewModel } from "../contracts/view-models/ViewModel";
import type { LeagueDetailViewData } from "../view-data/LeagueDetailViewData";
import { LeagueDetailDriverViewModel } from "./LeagueDetailDriverViewModel";
import { LeagueDetailRaceViewModel } from "./LeagueDetailRaceViewModel";
import { LeagueViewModel } from "./LeagueViewModel";
export class LeagueDetailViewModel extends ViewModel {
private readonly data: LeagueDetailViewData;
readonly league: LeagueViewModel;
readonly drivers: LeagueDetailDriverViewModel[];
readonly races: LeagueDetailRaceViewModel[];
constructor(data: LeagueDetailViewData) {
super();
this.data = data;
this.league = new LeagueViewModel(data.league);
this.drivers = data.drivers.map(driver => new LeagueDetailDriverViewModel(driver));
this.races = data.races.map(race => new LeagueDetailRaceViewModel(race));
}
}