export type Stato = "presente" | "assente" | "forse" | "ritardo" | "infortunato"; export const statoMeta: Record = { presente: { label: "Presente", emoji: "✅", className: "bg-success text-success-foreground" }, assente: { label: "Assente", emoji: "❌", className: "bg-destructive text-destructive-foreground", }, forse: { label: "Forse", emoji: "🤔", className: "bg-warning text-warning-foreground" }, ritardo: { label: "In ritardo", emoji: "⏱️", className: "bg-info text-info-foreground" }, infortunato: { label: "Infortunato", emoji: "🩹", className: "bg-primary text-primary-foreground", }, }; /** * Statistiche personali: solo dati equi per tutti i ruoli. * Punti, ace e muri restano nello Scout Live come dato tecnico di squadra. */ export type Giocatore = { id: string; nome: string; numero: number; ruolo: string; nascita: string; presenze: number; totaliEventi: number; streak: number; /** Serie consecutive per tipo: si azzerano in modo indipendente. */ serieAllenamenti: number; seriePartite: number; serieConferme: number; /** MVP eletti dalla squadra. */ mvp: number; /** Media delle pagelle ricevute dai compagni (1-10). */ mediaVoto: number; /** Quante volte ha portato i palloni. */ palloni: number; /** Partite di campionato con almeno 3 cacche dichiarate. */ cacche: number; /** Media di cacche dichiarate per partita. */ cacchePartita: number; /** Eventi (allenamenti o partite) saltati per infortunio. */ infortuni: number; /** Eventi (allenamenti o partite) a cui sei arrivato in ritardo. */ ritardi: number; iniziali: string; }; export type Match = { id: string; data: string; avversario: string; casa: boolean; setNostri: number; setLoro: number; parziali: Array<[number, number]>; mvp: string; }; export type RigaClassifica = { pos: number; squadra: string; giocate: number; vinte: number; perse: number; setFatti: number; setSubiti: number; punti: number; }; export function formatData(iso: string) { const d = new Date(iso + "T00:00:00"); return d.toLocaleDateString("it-IT", { weekday: "short", day: "2-digit", month: "long" }); }