/**
 * TeamDetailViewData - Pure ViewData for TeamDetailTemplate
 * Contains only raw serializable data, no methods or computed properties
 */

export interface SponsorMetric {
  icon: string; // Icon name (e.g. 'users', 'zap', 'calendar')
  label: string;
  value: string;
  color?: string;
  trend?: {
    value: string;
    isPositive: boolean;
  };
}

export interface TeamDetailData {
  id: string;
  name: string;
  tag: string;
  description?: string;
  ownerId: string;
  leagues: string[];
  createdAt?: string;
  foundedDateLabel?: 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;
  joinedAtLabel: string;
  isActive: boolean;
  avatarUrl: string;
}

export interface TeamTab {
  id: 'overview' | 'roster' | 'standings' | 'admin';
  label: string;
  visible: boolean;
}

export interface TeamDetailViewData {
  team: TeamDetailData;
  memberships: TeamMemberData[];
  currentDriverId: string;
  isAdmin: boolean;
  teamMetrics: SponsorMetric[];
  tabs: TeamTab[];
  memberCountLabel: string;
  leagueCountLabel: string;
}
