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

20 lines
788 B
TypeScript

import { ViewModel } from "../contracts/view-models/ViewModel";
import type { LeagueSettingsViewData } from "../view-data/LeagueSettingsViewData";
import { DriverSummaryViewModel } from './DriverSummaryViewModel';
export class LeagueSettingsViewModel extends ViewModel {
private readonly data: LeagueSettingsViewData;
readonly owner: DriverSummaryViewModel | null;
readonly members: DriverSummaryViewModel[];
constructor(data: LeagueSettingsViewData) {
super();
this.data = data;
this.owner = data.owner ? new DriverSummaryViewModel(data.owner) : null;
this.members = data.members.map(m => new DriverSummaryViewModel(m));
}
get league() { return this.data.league; }
get config() { return this.data.config; }
get presets() { return this.data.presets; }
}