import { createFileRoute, Link } from "@tanstack/react-router"; import { ArrowLeft, MapPin, Clock, Users, Dumbbell, CalendarDays } from "lucide-react"; import { PageHeader, Section } from "@/components/crapp/ui-bits"; import { formatData, giocatori } from "@/lib/crapp-data"; import { convocatiEvento, useEvento } from "@/lib/eventi"; import { TurnoPalloni } from "@/components/crapp/TurnoPalloni"; import { RosaPresenze } from "@/components/crapp/RosaPresenze"; import { usePresenzeEvento } from "@/lib/presenze"; export const Route = createFileRoute("/allenamento/$id")({ head: () => { const titolo = "Dettaglio allenamento"; return { meta: [ { title: `${titolo} — CrAPP` }, { name: "description", content: "Dettaglio allenamento, orario, luogo e presenze del CRAP Volley.", }, { property: "og:title", content: `${titolo} — CrAPP` }, { property: "og:description", content: "Dettaglio allenamento, orario, luogo e presenze del CRAP Volley.", }, { property: "og:type", content: "website" }, { name: "twitter:card", content: "summary" }, ], }; }, component: AllenamentoDetail, }); function AllenamentoDetail() { const { id } = Route.useParams(); const { evento } = useEvento(id); const { risposte } = usePresenzeEvento(id); const presentiVeri = giocatori.filter( (g) => risposte[g.id] === "presente" || risposte[g.id] === "ritardo", ).length; if (!evento) { return (
Torna al calendario

Allenamento non trovato

); } return ( <>
Calendario

Allenamento di squadra

{evento.titolo}

{evento.ora} {evento.luogo}
Conferme: {presentiVeri}/{convocatiEvento(evento).length}
); }