/** * TeamDetailViewData - Pure ViewData for TeamDetailTemplate * Contains only raw serializable data, no methods or computed properties */ export interface TeamDetailData { id: string; name: string; tag: string; description?: string; ownerId: string; leagues: string[]; createdAt?: string; specialization?: string; region?: string; languages?: string[]; category?: string; membership?: { role: string; joinedAt: string; isActive: boolean; } | null; canManage: boolean; } export interface TeamMemberData { driverId: string; driverName: string; role: 'owner' | 'manager' | 'member'; joinedAt: string; isActive: boolean; avatarUrl: string; } export interface TeamDetailViewData { team: TeamDetailData; memberships: TeamMemberData[]; currentDriverId: string; isAdmin: boolean; }