From 44740bd30e44364e8e89a028a63149f60f7b78dc Mon Sep 17 00:00:00 2001 From: Marc Wieland Date: Thu, 5 Jun 2025 23:51:50 +0200 Subject: [PATCH] Added scoreboard functionality --- src/pages/TeamDetailPage.tsx | 156 +++++++++++++++++++++-------------- 1 file changed, 96 insertions(+), 60 deletions(-) diff --git a/src/pages/TeamDetailPage.tsx b/src/pages/TeamDetailPage.tsx index 96b9473cf..264c66408 100644 --- a/src/pages/TeamDetailPage.tsx +++ b/src/pages/TeamDetailPage.tsx @@ -38,6 +38,8 @@ const TeamDetailPage = () => { last_updated: string; } | null>(null); +const [showGames, setShowGames] = useState(false); + useEffect(() => { const fetchTeam = async () => { try { @@ -152,71 +154,105 @@ const TeamDetailPage = () => { )} - {liveData && ( + {liveData && Array.isArray(liveData.scoreboard) && liveData.scoreboard.length > 0 &&(
-

🏆 Aktuelle Tabelle

-
- - - - - - - - - + {liveData && ( +
+ + {/* 🏆 Tabelle als Card */} +
+

+ 🏆 Aktuelle Tabelle +

+
PlatzTeamSpieleSiegeSätzePunkte
+ + + + + + + + + + + + {liveData.scoreboard.map((row, i) => { + const isTop = row.platz === 1; + const isBottom = row.platz === liveData.scoreboard.length; + return ( + + + + + + + - - - {liveData.scoreboard.map((row, i) => { - const isTop = row.platz === 1; - const isBottom = row.platz === liveData.scoreboard.length; + ); + })} + +
PlatzTeamSpSSätzeP
+ {row.platz} + {isTop && â–˛} + {isBottom && â–Ľ} + {row.team}{row.spiele}{row.siege}{row.saetze}{row.punkte}
+

+ Zuletzt aktualisiert:{" "} + {new Date(liveData.last_updated).toLocaleString("de-DE")} +

+
- return ( - - - {row.platz} - {isTop && â–˛} - {isBottom && â–Ľ} - - {row.team} - {row.spiele} - {row.siege} - {row.saetze} - {row.punkte} - - ); - })} - + {/* đź“… Spiele als Card */} + {/* đź“… Spiele als Card */} +
+
+

+ đź“… Spiele +

+ +
- -
+ {showGames && ( + + + + + + + + + + + + {liveData.spiele.map((spiel, i) => ( + + + + + + + + ))} + +
DatumTeam 1Team 2ErgebnisSätze
{spiel.datum}{spiel.team1}{spiel.team2}{spiel.ergebnis}{spiel.satzverlauf}
+ )} + + {!showGames && ( +

+ Klicke oben auf „Spiele anzeigen“, um die Begegnungen einzublenden. +

+ )} +
+ + + +)} -

đź“… Spiele

-
- - - - - - - - - - - - {liveData.spiele.map((spiel, i) => ( - - - - - - - - ))} - -
DatumTeam 1Team 2ErgebnisSatzverlauf
{spiel.datum}{spiel.team1}{spiel.team2}{spiel.ergebnis}{spiel.satzverlauf}
-

Zuletzt aktualisiert: {new Date(liveData.last_updated).toLocaleString("de-DE")}