/**
 * Sport activation config — frontend mirror.
 * Keep values aligned with `src/config/sports.js` in the Node backend.
 */
export type SportKey =
  | 'nba' | 'wnba' | 'mlb'
  | 'nfl' | 'nhl' | 'tennis' | 'mma' | 'boxing' | 'golf';

export interface SportConfig {
  key: SportKey;
  label: string;
  color: string;
  active: boolean;
  collectData: boolean;
  comingSoon?: string;
}

export const SPORTS: Record<SportKey, SportConfig> = {
  nba:    { key: 'nba',    label: 'NBA',    color: '#E94B3C', active: true,  collectData: true },
  wnba:   { key: 'wnba',   label: 'WNBA',   color: '#F7944A', active: true,  collectData: true },
  mlb:    { key: 'mlb',    label: 'MLB',    color: '#1E90FF', active: true,  collectData: true },
  nfl:    { key: 'nfl',    label: 'NFL',    color: '#013369', active: false, collectData: false, comingSoon: 'Coming this summer' },
  nhl:    { key: 'nhl',    label: 'NHL',    color: '#A0A0B0', active: false, collectData: false, comingSoon: 'Coming this summer' },
  tennis: { key: 'tennis', label: 'Tennis', color: '#C5B358', active: false, collectData: false, comingSoon: 'Coming this summer' },
  // Wave 6 — combat intelligence: MMA is live as a READ surface (fight cards +
  // tale-of-the-tape). Not in the graded-props pipeline yet → collectData false.
  mma:    { key: 'mma',    label: 'MMA',    color: '#D4AF37', active: true,  collectData: false },
  boxing: { key: 'boxing', label: 'Boxing', color: '#8B0000', active: false, collectData: false, comingSoon: 'Coming this summer' },
  golf:   { key: 'golf',   label: 'Golf',   color: '#2E7D32', active: false, collectData: false, comingSoon: 'Coming this summer' },
};

export const ALL_SPORTS = Object.values(SPORTS);
export const ACTIVE_SPORTS = ALL_SPORTS.filter((s) => s.active);
