website refactor
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user