Files
gridpilot.gg/apps/website/lib/view-models/DriverRegistrationStatusViewModel.ts
Marc Mintel e22033be38
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 5m54s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-23 13:04:05 +01:00

37 lines
1.1 KiB
TypeScript

import { ViewModel } from "../contracts/view-models/ViewModel";
import type { DriverRegistrationStatusViewData } from "../view-data/DriverRegistrationStatusViewData";
import { DriverRegistrationStatusDisplay } from "../display-objects/DriverRegistrationStatusDisplay";
export class DriverRegistrationStatusViewModel extends ViewModel {
constructor(private readonly viewData: DriverRegistrationStatusViewData) {
super();
}
get isRegistered(): boolean {
return this.viewData.isRegistered;
}
get raceId(): string {
return this.viewData.raceId;
}
get driverId(): string {
return this.viewData.driverId;
}
get canRegister(): boolean {
return this.viewData.canRegister;
}
get statusMessage(): string {
return DriverRegistrationStatusDisplay.statusMessage(this.isRegistered);
}
get statusBadgeVariant(): string {
return DriverRegistrationStatusDisplay.statusBadgeVariant(this.isRegistered);
}
get registrationButtonText(): string {
return DriverRegistrationStatusDisplay.registrationButtonText(this.isRegistered);
}
}