Refond l'application en parcours multi-pages
This commit is contained in:
143
chrono.html
Normal file
143
chrono.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Phase chrono de ChessCubing Arena avec gros boutons face-à-face."
|
||||
/>
|
||||
<title>ChessCubing Arena | Phase Chrono</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
</head>
|
||||
<body data-page="chrono" class="phase-body">
|
||||
<main class="phase-shell">
|
||||
<header class="phase-header">
|
||||
<a class="brand-link" href="index.html">Configuration</a>
|
||||
<div class="phase-title">
|
||||
<p class="eyebrow">Phase chrono</p>
|
||||
<h1 id="chronoTitle">Block 1</h1>
|
||||
<p id="chronoSubtitle" class="phase-subtitle"></p>
|
||||
</div>
|
||||
<button class="button ghost small utility-button" id="openArbiterButton" type="button">
|
||||
Arbitre
|
||||
</button>
|
||||
</header>
|
||||
|
||||
<section class="status-strip">
|
||||
<article class="status-card">
|
||||
<span>Temps block</span>
|
||||
<strong id="blockTimer">03:00</strong>
|
||||
</article>
|
||||
<article class="status-card">
|
||||
<span>Temps coup</span>
|
||||
<strong id="moveTimer">00:20</strong>
|
||||
</article>
|
||||
<article class="status-card wide">
|
||||
<span id="chronoCenterLabel">Trait</span>
|
||||
<strong id="chronoCenterValue">Blanc</strong>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="faceoff-board">
|
||||
<article class="player-zone opponent-zone" id="blackZone">
|
||||
<div class="zone-inner mirrored-mobile">
|
||||
<div class="zone-head">
|
||||
<div>
|
||||
<span class="seat-tag dark-seat">Noir</span>
|
||||
<h2 id="blackNameChrono">Noir</h2>
|
||||
</div>
|
||||
<div class="zone-stats">
|
||||
<strong id="blackMovesChrono">0 / 6</strong>
|
||||
<span id="blackClockChrono"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="zone-button dark-button" id="blackMoveButton" type="button">
|
||||
En attente
|
||||
</button>
|
||||
|
||||
<p class="zone-foot" id="blackHintChrono"></p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="phase-spine">
|
||||
<div class="spine-card">
|
||||
<p class="micro-label" id="spineLabel">État du block</p>
|
||||
<strong id="spineHeadline">Prêt à démarrer</strong>
|
||||
<p id="spineText"></p>
|
||||
</div>
|
||||
|
||||
<button class="button primary spine-button" id="primaryChronoButton" type="button">
|
||||
Démarrer le block
|
||||
</button>
|
||||
</article>
|
||||
|
||||
<article class="player-zone" id="whiteZone">
|
||||
<div class="zone-inner">
|
||||
<div class="zone-head">
|
||||
<div>
|
||||
<span class="seat-tag light-seat">Blanc</span>
|
||||
<h2 id="whiteNameChrono">Blanc</h2>
|
||||
</div>
|
||||
<div class="zone-stats">
|
||||
<strong id="whiteMovesChrono">0 / 6</strong>
|
||||
<span id="whiteClockChrono"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="zone-button light-button" id="whiteMoveButton" type="button">
|
||||
En attente
|
||||
</button>
|
||||
|
||||
<p class="zone-foot" id="whiteHintChrono"></p>
|
||||
</div>
|
||||
</article>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<section class="modal hidden" id="arbiterModal" aria-hidden="true">
|
||||
<div class="modal-backdrop" data-close-modal="true"></div>
|
||||
<div class="modal-card">
|
||||
<div class="modal-head">
|
||||
<div>
|
||||
<p class="eyebrow">Outils arbitre</p>
|
||||
<h2>Contrôles avancés</h2>
|
||||
</div>
|
||||
<button class="button ghost small" id="closeArbiterButton" type="button">Fermer</button>
|
||||
</div>
|
||||
|
||||
<p class="section-copy" id="arbiterStatus"></p>
|
||||
|
||||
<div class="modal-actions">
|
||||
<button class="button secondary" id="arbiterPauseButton" type="button">
|
||||
Pause / reprise
|
||||
</button>
|
||||
<button class="button secondary" id="arbiterCloseBlockButton" type="button">
|
||||
Clore le block
|
||||
</button>
|
||||
<button class="button secondary" id="arbiterTimeoutButton" type="button">
|
||||
Dépassement 20 s
|
||||
</button>
|
||||
<button class="button secondary" id="arbiterSwitchTurnButton" type="button">
|
||||
Corriger le trait
|
||||
</button>
|
||||
<button class="button ghost" id="arbiterWhiteWinButton" type="button">
|
||||
Blanc gagne
|
||||
</button>
|
||||
<button class="button ghost" id="arbiterBlackWinButton" type="button">
|
||||
Noir gagne
|
||||
</button>
|
||||
<button class="button ghost danger" id="arbiterStopButton" type="button">
|
||||
Abandon / arrêt
|
||||
</button>
|
||||
<button class="button ghost" id="arbiterResetButton" type="button">
|
||||
Réinitialiser le match
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script type="module" src="app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user