Sessions 5-7a: 955 tests, deployment ready

This commit is contained in:
Kev
2026-06-08 18:35:13 -04:00
parent 06b82624a2
commit 1fa04dc776
371 changed files with 49366 additions and 955 deletions
+31
View File
@@ -0,0 +1,31 @@
/**
* 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' },
mma: { key: 'mma', label: 'MMA', color: '#D4AF37', active: false, collectData: false, comingSoon: 'Coming this summer' },
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);