import { DriverRegistrationStatusDTO } from '../types/generated/DriverRegistrationStatusDTO'; export class DriverRegistrationStatusViewModel { isRegistered!: boolean; raceId!: string; driverId!: string; constructor(dto: DriverRegistrationStatusDTO) { Object.assign(this, dto); } /** UI-specific: Status message */ get statusMessage(): string { return this.isRegistered ? 'Registered for this race' : 'Not registered'; } /** UI-specific: Status color */ get statusColor(): string { return this.isRegistered ? 'green' : 'red'; } /** UI-specific: Badge variant */ get statusBadgeVariant(): string { return this.isRegistered ? 'success' : 'warning'; } /** UI-specific: Registration button text */ get registrationButtonText(): string { return this.isRegistered ? 'Withdraw' : 'Register'; } /** UI-specific: Whether can register (assuming always can if not registered) */ get canRegister(): boolean { return !this.isRegistered; } }