diff --git a/src/routes/index.tsx b/src/routes/index.tsx index e7bdb4e..4cd5dd3 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -56,6 +56,9 @@ function Index() { : null; const obiettivi = useObiettivi(); const obiettivo = obiettivi.find((o) => progressoObiettivo(o) < 100) ?? obiettivi[0] ?? null; + const eventoUltima = ultima + ? (eventi.find((e) => e.tipo === "partita" && e.data === ultima.data) ?? null) + : null; if (!giocatore) return null; @@ -143,30 +146,45 @@ function Index() { } > {ultima ? ( -
-
-
-

CRAP Volley vs {ultima.avversario}

-

- {ultima.casa ? "In casa" : "Trasferta"} - {ultima.mvp ? ` · MVP ${ultima.mvp}` : ""} -

-
-

- {ultima.setNostri}-{ultima.setLoro} -

-
-
- {ultima.parziali.map((p, i) => ( - - {p[0]}-{p[1]} - - ))} -
-
+ (() => { + const corpo = ( + <> +
+
+

CRAP Volley vs {ultima.avversario}

+

+ {ultima.casa ? "In casa" : "Trasferta"} + {ultima.mvp ? ` · MVP ${ultima.mvp}` : " · MVP da votare"} +

+
+

+ {ultima.setNostri}-{ultima.setLoro} +

+
+
+ {ultima.parziali.map((p, i) => ( + + {p[0]}-{p[1]} + + ))} +
+ + ); + return eventoUltima ? ( + + {corpo} + + ) : ( +
{corpo}
+ ); + })() ) : (

Nessun risultato disponibile. diff --git a/src/routes/squadra.tsx b/src/routes/squadra.tsx index a7d36cf..6a80510 100644 --- a/src/routes/squadra.tsx +++ b/src/routes/squadra.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; -import { createFileRoute } from "@tanstack/react-router"; -import { Cake, ChevronDown, Crown } from "lucide-react"; +import { createFileRoute, Link } from "@tanstack/react-router"; +import { Cake, ChevronDown, ChevronRight, Crown } from "lucide-react"; import { cn } from "@/lib/utils"; import { PageHeader, Section } from "@/components/crapp/ui-bits"; import { Avatar } from "@/components/crapp/Avatar"; @@ -19,6 +19,7 @@ import { Barra } from "@/components/motion/Barra"; import { Numero } from "@/components/motion/Numero"; import { useScoutMatches } from "@/lib/scout-store"; import { useVotiMvp, vincitoriMvp } from "@/lib/mvp-voti"; +import { useEventi } from "@/lib/eventi"; import { BadgeDrawer } from "@/components/crapp/BadgeDrawer"; import { badgeDefs, @@ -95,6 +96,10 @@ function Squadra() { const max = ordinati[0] ? valore(ordinati[0], criterio) || 1 : 1; const { data: csi } = useCsi(); const csiGiocate = csi ? partiteGiocate(csi.partite) : []; + const { eventi } = useEventi(); + const eventoIdPerData = new Map( + eventi.filter((e) => e.tipo === "partita").map((e) => [e.data, e.id]), + ); const tuttiMatch = csiGiocate.length ? csiGiocate.map((p) => ({ ...matchDaPartitaCsi(p), @@ -313,8 +318,9 @@ function Squadra() {

{tuttiMatch.map((m) => { const vinta = m.setNostri > m.setLoro; - return ( -
+ const eventoId = eventoIdPerData.get(m.data); + const contenuto = ( + <>

@@ -337,7 +343,7 @@ function Squadra() { {m.setNostri}-{m.setLoro}

-
+
{m.parziali.map((p, i) => ( ))} + {eventoId && !m.mvp ? ( + + Vota MVP + + ) : null}
+ + ); + return eventoId ? ( + + {contenuto} + + ) : ( +
+ {contenuto}
); })}