import { createFileRoute, Link } from "@tanstack/react-router"; import { RefreshCw } from "lucide-react"; import { cn } from "@/lib/utils"; import { PageHeader, Section } from "@/components/crapp/ui-bits"; import { useScoutMatches } from "@/lib/scout-store"; import { useCsi } from "@/lib/csi"; import { isNostraSquadra, matchDaPartitaCsi, partiteGiocate } from "@/lib/csi-core"; import { ScoutEntry } from "@/components/crapp/ScoutEntry"; export const Route = createFileRoute("/classifica")({ head: () => ({ meta: [ { title: "Classifica campionato โ€” CrAPP" }, { name: "description", content: "Classifica e risultati del girone CSI seguiti in tempo reale dal CRAP Volley.", }, { property: "og:title", content: "Classifica campionato โ€” CrAPP" }, { property: "og:description", content: "Posizioni, set e risultati aggiornati del girone." }, ], }), component: Classifica, }); function formatAggiornamento(iso: string) { const d = new Date(iso); const oggi = new Date().toDateString() === d.toDateString(); const ora = d.toLocaleTimeString("it-IT", { hour: "2-digit", minute: "2-digit" }); return oggi ? `oggi alle ${ora}` : `il ${d.toLocaleDateString("it-IT")} alle ${ora}`; } function Classifica() { const scoutMatches = useScoutMatches(); const { data: csi } = useCsi(); const classifica = csi?.classifica ?? []; const risultati = csi?.partite.length ? partiteGiocate(csi.partite).map(matchDaPartitaCsi) : scoutMatches.map((m) => ({ id: m.id, data: m.data, avversario: m.avversario, casa: m.casa, setNostri: m.setNostri, setLoro: m.setLoro, parziali: m.parziali, })); return ( <>
{csi ? `Dati CSI aggiornati ${formatAggiornamento(csi.aggiornato)}` : "Dati CSI in arrivo"}
# Squadra G Set Pt
{classifica.length === 0 ? (

Classifica non ancora disponibile.

) : ( classifica.map((r) => { const noi = isNostraSquadra(r.squadra) || r.squadra === "CRAP Volley"; return (
{r.pos} {r.squadra} {r.giocate} {r.setFatti}:{r.setSubiti} {r.punti}
); }) )}
{risultati.length === 0 ? (

Nessun risultato disponibile.

) : (
{risultati.map((m) => (

{m.casa ? "CRAP Volley" : m.avversario} โ€” {m.casa ? m.avversario : "CRAP Volley"}

{m.casa ? `${m.setNostri}-${m.setLoro}` : `${m.setLoro}-${m.setNostri}`}
))}
)}
); }