// TriplePick 도메인 타입 — 기능정의서 데이터모델과 정합 // Firebase 연결 시 이 타입을 Firestore 변환기(converter)에 그대로 사용한다. export type Outcome = "TEAM_A_WIN" | "DRAW" | "TEAM_B_WIN"; export type ModelName = "GPT" | "Claude" | "Gemini"; export type MatchStatus = "upcoming" | "locked" | "live" | "finished"; export interface Team { name: string; // 표시명 (예: Korea Republic) shortName: string; // 짧은 표시 (예: 한국) code: string; // KOR / CZE flag: string; // 이모지 국기 (1차), 추후 에셋 교체 가능 } export interface Match { matchId: string; roundLabel: string; // "Match 01" group: string; // "A" teamA: Team; teamB: Team; kickoffKst: string; // ISO with +09:00 venue: string; lockAt: string; // ISO (킥오프 -10분) status: MatchStatus; hookText: string; // "한국 첫 경기, AI의 선택은 갈렸다" result?: { scoreA: number; scoreB: number; outcome: Outcome } | null; } export interface AIPrediction { matchId: string; model: ModelName; outcome: Outcome; scoreA: number; scoreB: number; confidencePct: number; // 0-100 reasonShort: string; generatedAt: string; // 데이터 기준일 } export interface CrowdStats { matchId: string; total: number; teamAWin: number; draw: number; teamBWin: number; } export interface UserPick { outcome: Outcome; scoreA: number; scoreB: number; }