website refactor

This commit is contained in:
2026-01-18 13:26:35 +01:00
parent 350c78504d
commit 0b301feb61
225 changed files with 1678 additions and 26666 deletions

View File

@@ -8,13 +8,39 @@ import { RaceViewModel as SharedRaceViewModel } from "./RaceViewModel";
*/
export class LeagueDetailViewModel {
league: LeagueViewModel;
drivers: SharedDriverViewModel[];
races: SharedRaceViewModel[];
drivers: LeagueDetailDriverViewModel[];
races: LeagueDetailRaceViewModel[];
constructor(data: { league: unknown; drivers: unknown[]; races: unknown[] }) {
this.league = new LeagueViewModel(data.league);
this.drivers = data.drivers.map(driver => new SharedDriverViewModel(driver as any));
this.races = data.races.map(race => new SharedRaceViewModel(race as any));
this.drivers = data.drivers.map(driver => new LeagueDetailDriverViewModel(driver as any));
this.races = data.races.map(race => new LeagueDetailRaceViewModel(race as any));
}
}
export class LeagueDetailDriverViewModel extends SharedDriverViewModel {
impressions: number;
constructor(dto: any) {
super(dto);
this.impressions = dto.impressions || 0;
}
get formattedImpressions(): string {
return this.impressions.toLocaleString();
}
}
export class LeagueDetailRaceViewModel extends SharedRaceViewModel {
views: number;
constructor(dto: any) {
super(dto);
this.views = dto.views || 0;
}
get formattedViews(): string {
return this.views.toLocaleString();
}
}