Files
gridpilot.gg/apps/website/lib/view-models/AvatarViewModel.ts
2025-12-18 00:08:47 +01:00

27 lines
546 B
TypeScript

// Note: No generated DTO available for Avatar yet
interface AvatarDTO {
driverId: string;
avatarUrl?: string;
}
/**
* Avatar View Model
*
* Represents avatar information for the UI layer
*/
export class AvatarViewModel {
driverId: string;
avatarUrl?: string;
constructor(dto: AvatarDTO) {
this.driverId = dto.driverId;
if (dto.avatarUrl !== undefined) {
this.avatarUrl = dto.avatarUrl;
}
}
/** UI-specific: Whether the driver has an avatar */
get hasAvatar(): boolean {
return !!this.avatarUrl;
}
}