92 lines
3.6 KiB
HTML
92 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>🏆 Lara Kiesewetter – Live Schachturnier</title>
|
||
<link rel="stylesheet" href="https://unpkg.com/@chrisoakman/chessboardjs@1.0.0/dist/chessboard-1.0.0.min.css">
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
<div id="app">
|
||
<header>
|
||
<h1>🏆 Lara Kiesewetter – Live Turnier</h1>
|
||
<div id="status-bar">
|
||
<span id="last-update">Letztes Update: --</span>
|
||
<span id="refresh-timer"></span>
|
||
<button id="refresh-btn" title="Jetzt aktualisieren">🔄</button>
|
||
</div>
|
||
</header>
|
||
|
||
<div id="main-content">
|
||
<!-- Linke Spalte: Schachbrett -->
|
||
<div id="board-section">
|
||
<div id="player-black" class="player-info">
|
||
<div class="player-avatar">⬛</div>
|
||
<div class="player-details">
|
||
<span class="player-name" id="black-name">--</span>
|
||
<span class="player-elo" id="black-elo"></span>
|
||
</div>
|
||
<div class="player-clock" id="black-clock">--:--:--</div>
|
||
</div>
|
||
<div id="board"></div>
|
||
<div id="player-white" class="player-info">
|
||
<div class="player-avatar">⬜</div>
|
||
<div class="player-details">
|
||
<span class="player-name" id="white-name">--</span>
|
||
<span class="player-elo" id="white-elo"></span>
|
||
</div>
|
||
<div class="player-clock" id="white-clock">--:--:--</div>
|
||
</div>
|
||
<div id="pgn-panel">
|
||
<div class="pgn-header">
|
||
<span>PGN</span>
|
||
<button id="copy-pgn-btn" title="In Zwischenablage kopieren">📋</button>
|
||
</div>
|
||
<pre id="pgn-text"></pre>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Rechte Spalte: Info & Züge -->
|
||
<div id="info-section">
|
||
<div id="game-info">
|
||
<h2 id="round-info">--</h2>
|
||
<div id="result-info"></div>
|
||
</div>
|
||
<div id="moves-panel">
|
||
<h3>Züge</h3>
|
||
<div id="moves-list"></div>
|
||
</div>
|
||
<div id="all-games-panel">
|
||
<h3>Alle Partien von Lara</h3>
|
||
<div id="all-games-list"></div>
|
||
</div>
|
||
<div id="standings-panel">
|
||
<h3>Turniertabelle ODJM D 2026</h3>
|
||
<div id="standings-content">
|
||
<div class="standings-loading">Lade Tabellenstand...</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="loading-overlay">
|
||
<div class="spinner"></div>
|
||
<p>Lade Turnierdaten...</p>
|
||
</div>
|
||
|
||
<div id="error-overlay" style="display:none;">
|
||
<p>⚠️ Fehler beim Laden der Daten.</p>
|
||
<p id="error-message"></p>
|
||
<button onclick="loadPGN()">Wiederholen</button>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||
<script src="https://unpkg.com/@chrisoakman/chessboardjs@1.0.0/dist/chessboard-1.0.0.min.js"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/chess.js/0.10.3/chess.min.js"></script>
|
||
<script src="pgn-parser.js"></script>
|
||
<script src="app.js"></script>
|
||
</body>
|
||
</html>
|