SSO and turn gate

This commit is contained in:
2026-10-30 16:36:36 -04:00
parent c4d9d1b86c
commit b96be7076e
8 changed files with 273 additions and 132 deletions
+4 -26
View File
@@ -34,6 +34,7 @@
<section id="button-section">
<button id="the-button" class="zone-green" disabled>PRESS</button>
<p class="button-caption">Every press buys everyone more time.</p>
<p id="press-eligibility" class="fine-print" role="status" hidden></p>
<p id="press-result" aria-live="polite"></p>
</section>
</div>
@@ -41,7 +42,7 @@
<div class="section-browser">
<div class="browser-heading"><span class="eyebrow">MAKE YOURSELF AT HOME</span><span class="site-badge">The Button / 01</span></div>
<nav id="section-nav" aria-label="Game sections">
<button type="button" data-section="account-section" aria-controls="account-section" aria-expanded="false">Log in / Join</button>
<button type="button" data-section="account-section" aria-controls="account-section" aria-expanded="false">Sign in</button>
<button type="button" data-section="leaderboard-section" aria-controls="leaderboard-section" aria-expanded="false">Leaderboard</button>
<button type="button" data-section="seasons-section" aria-controls="seasons-section" aria-expanded="false">Seasons</button>
<button type="button" data-section="chat-section" aria-controls="chat-section" aria-expanded="false">Chat</button>
@@ -141,29 +142,6 @@
</section>
<section id="account-section" data-panel hidden>
<div id="register-section" hidden>
<header class="panel-header">
<p class="eyebrow">YOUR NEXT MOVE</p>
<h2>Take your place.</h2>
<p class="panel-description">Choose a name. Trust your timing. Every press is part of the story.</p>
</header>
<div class="panel-body">
<form id="register-form">
<label class="field" for="name-input"><span>Player name</span>
<input id="name-input" maxlength="24" placeholder="Your name" required autocomplete="username">
</label>
<label class="field" for="password-input"><span>Password</span>
<input id="password-input" type="password" minlength="8" maxlength="128" placeholder="Password (8+ chars)" required autocomplete="current-password">
</label>
<div class="form-actions"><button class="primary-button" type="submit" value="login">Log in <span aria-hidden="true">&rarr;</span></button>
<button type="submit" value="register">Sign up</button>
</div>
</form>
<p id="register-error" class="error" role="status"></p>
<p class="fine-print">Already playing? Log in with the same name and password to pick up where you left off.</p>
</div>
</div>
<div id="oidc-login-section" class="panel-body" hidden>
<p class="fine-print">Your account is managed by eom.dev. Sign in with the same identity used for your other services.</p>
<div class="form-actions"><a id="oidc-login-link" class="primary-button" href="/auth/oidc/login">Sign in with eom.dev <span aria-hidden="true">&rarr;</span></a></div>
@@ -246,7 +224,7 @@
<p id="chat-status" role="status">Loading messages&hellip;</p>
</div>
<div class="chat-composer">
<p id="chat-login">Pull up a seat. Log in or join the game to say hello.</p>
<p id="chat-login">Pull up a seat. Sign in with eom.dev to say hello.</p>
<form id="chat-form" hidden>
<label for="chat-input">Add to the conversation</label>
<div class="chat-input-row">
@@ -284,7 +262,7 @@
<div class="panel-body">
<ol class="rules-list">
<li><div><h3>Keep the clock alive</h3><p>Every press resets the countdown for everyone.</p></div></li>
<li><div><h3>Wait for your moment</h3><p>The lower the countdown, the more you score. Each zone awards a fixed number of points per press.</p></div></li>
<li><div><h3>Wait for your moment</h3><p>The lower the countdown, the more you score. Each zone awards a fixed number of points per press. After your first press each season, two different players must press before you can press again.</p></div></li>
<li><div><h3>Don't wait too long</h3><p>If the countdown reaches zero, this season's game ends. The next equinox or solstice starts a new countdown and resets scores. Accounts and chat stay.</p></div></li>
</ol>
<h3 class="subheading">Six zones. Increasing stakes.</h3>