import type { TeamListItemDTO } from '@/lib/types/generated/TeamListItemDTO'; interface TeamCardDTO { id: string; name: string; tag: string; description: string; logoUrl?: string; } /** * Team card view model * UI representation of a team on the landing page. */ export class TeamCardViewModel { readonly id: string; readonly name: string; readonly tag: string; readonly description: string; readonly logoUrl?: string; constructor(dto: TeamCardDTO | TeamListItemDTO) { this.id = dto.id; this.name = dto.name; this.tag = dto.tag; this.description = dto.description; this.logoUrl = 'logoUrl' in dto ? dto.logoUrl : undefined; } }