import { ViewModel } from "../contracts/view-models/ViewModel"; import { DriverRegistrationStatusFormatter } from "../formatters/DriverRegistrationStatusFormatter"; import type { DriverRegistrationStatusViewData } from "../view-data/DriverRegistrationStatusViewData"; 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 DriverRegistrationStatusFormatter.statusMessage(this.isRegistered); } get statusBadgeVariant(): string { return DriverRegistrationStatusFormatter.statusBadgeVariant(this.isRegistered); } get registrationButtonText(): string { return DriverRegistrationStatusFormatter.registrationButtonText(this.isRegistered); } }