77 lines
3.2 KiB
HTML
77 lines
3.2 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="theme-color" content="#f7efe6">
|
||
<title>Fancy Wordle</title>
|
||
<link rel="stylesheet" href="CSS/styles.css">
|
||
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/confetti@3.0.3/tsparticles.confetti.bundle.min.js"></script>
|
||
<script src="word-data.js?v=4" defer></script>
|
||
<script src="script.js?v=4" defer></script>
|
||
</head>
|
||
<body>
|
||
<div class="app-shell">
|
||
<header class="topbar" aria-label="Game controls">
|
||
<a class="brand" href="#" aria-label="Restart Fancy Wordle">
|
||
<span class="brand-mark">W</span>
|
||
<span>
|
||
<strong>Fancy Wordle</strong>
|
||
<small>Non-stop five-letter play</small>
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="actions" aria-label="Quick actions">
|
||
<button class="icon-button" type="button" id="theme-button" aria-label="Toggle dark mode" title="Toggle theme">
|
||
<span aria-hidden="true">◐</span>
|
||
</button>
|
||
<button class="icon-button" type="button" id="Stats-button" aria-label="Open stats and share" title="Stats and share">
|
||
<span aria-hidden="true">↗</span>
|
||
</button>
|
||
<a class="icon-button" href="https://www.youtube.com/watch?v=UkOKCWDJ4iA" target="_blank" rel="noopener noreferrer" aria-label="Open the original love note" title="Original love note">
|
||
<span aria-hidden="true">♡</span>
|
||
</a>
|
||
</nav>
|
||
</header>
|
||
|
||
<main class="game-card">
|
||
<section class="hero-panel" aria-labelledby="game-title">
|
||
<p class="eyebrow">Daily pace optional</p>
|
||
<h1 id="game-title">Guess the word in six tries.</h1>
|
||
<p class="deck">Play as many rounds as you want. Valid words reveal with smooth flips, warm feedback, confetti, sound, and a definition at the end.</p>
|
||
</section>
|
||
|
||
<section class="board-panel" aria-label="Wordle game board">
|
||
<div class="status-row">
|
||
<span id="round-status">Loading word lists…</span>
|
||
<span class="pill" id="tries-status">0 / 6</span>
|
||
</div>
|
||
|
||
<div class="alert-container" data-alert-container aria-live="polite" aria-atomic="true"></div>
|
||
<div data-guess-grid class="guess-grid" aria-label="Guess grid"></div>
|
||
<div data-keyboard class="keyboard" aria-label="Keyboard"></div>
|
||
</section>
|
||
</main>
|
||
</div>
|
||
|
||
<dialog class="stats-modal" id="stats-modal" aria-labelledby="stats-title">
|
||
<form method="dialog" class="stats-card">
|
||
<div class="modal-head">
|
||
<div>
|
||
<p class="eyebrow">Progress</p>
|
||
<h2 id="stats-title">Game stats</h2>
|
||
</div>
|
||
<button class="icon-button close-button" type="submit" aria-label="Close stats">×</button>
|
||
</div>
|
||
<div class="stats-grid" id="stats-grid"></div>
|
||
<div class="guess-bars" id="guess-bars" aria-label="Guess distribution"></div>
|
||
<menu class="modal-actions">
|
||
<button type="button" class="button secondary" id="reset-stats">Reset stats</button>
|
||
<button type="button" class="button primary" id="share-results">Share result</button>
|
||
</menu>
|
||
</form>
|
||
</dialog>
|
||
</body>
|
||
</html>
|