From c7633f5c7f0d812f0a7796cfcc81da7a07512e87 Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 28 May 2026 09:00:13 +0200 Subject: [PATCH] Fix: Startreihenfolge standings vor PGN, Tabellenplatz-Link mit Style --- README.md | 2 +- js/data.js | 6 +++--- style.css | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c2017dd..2b97972 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Live-Überwachung von Lara Kiesewetters Partien bei der **ODJM (Offene Deutsche - **Zugliste** – Alle Züge der aktuellen Partie mit Klick-Navigation und Pfeiltasten-Steuerung - **Alle Partien** – Übersicht aller Runden mit Lara; Klick zum Wechseln - **Live-Erkennung** – Automatische Erkennung laufender (unterminierter) Partien -- **Turniertabelle** – Tabellenplatz, Punkte, Siege/Unentschieden/Niederlagen von Lara +- **[Turniertabelle](https://www.deutsche-schachjugend.de/2026/odjm-d/tabelle/)** – Tabellenplatz, Punkte, Siege/Unentschieden/Niederlagen von Lara - **Auto-Refresh** – Aktualisiert die Daten alle 15 Sekunden (nur aktuelle Runden) - **Proxy-Server** – Lokaler Python-Server mit Stockfish-Engine-Wrapper, PGN-Proxy und statischem File-Serving diff --git a/js/data.js b/js/data.js index 300fc0c..7e09ca3 100644 --- a/js/data.js +++ b/js/data.js @@ -100,7 +100,7 @@ async function updateStandings() { const container = document.getElementById('standings-content'); container.innerHTML = `
${data.rank}.
-
Tabellenplatz
+
Tabellenplatz
${data.round_info || 'nach Runde 1'}
Punkte @@ -134,7 +134,7 @@ function updateTimestamp() { `Letztes Update: ${time.toLocaleTimeString('de-DE')}`; } -function startAutoRefresh() { +async function startAutoRefresh() { clearInterval(pollInterval); clearInterval(updateTimer); clearInterval(standingsInterval); @@ -145,8 +145,8 @@ function startAutoRefresh() { document.getElementById('refresh-timer').textContent = '0s'; document.getElementById('refresh-timer').style.color = '#4ade80'; + await updateStandings(); loadPGN(true); - updateStandings(); pollInterval = setInterval(() => { if (pollId !== myId) { clearInterval(pollInterval); clearInterval(updateTimer); clearInterval(standingsInterval); return; } diff --git a/style.css b/style.css index c79d515..4eeade6 100644 --- a/style.css +++ b/style.css @@ -336,6 +336,14 @@ header h1 { color: #888; text-align: center; } +.standings-rank-label a { + color: #888; + text-decoration: none; +} +.standings-rank-label a:hover { + color: #ffd700; + text-decoration: underline; +} .standings-header { text-align: center; margin-bottom: 8px;