Add account auth with websocket login/register and sessions

This commit is contained in:
Jage9
2026-02-24 22:03:10 -05:00
parent 1938f239e6
commit bf3bc90f2a
21 changed files with 1053 additions and 24 deletions

View File

@@ -9,12 +9,41 @@
<main class="app">
<h1>Chat Grid</h1>
<div id="connectionStatus" role="status" aria-live="polite" aria-atomic="true"></div>
<section id="loginView" class="auth-panel">
<h2>Login</h2>
<div class="auth-row">
<label for="authUsername">Username</label>
<input id="authUsername" type="text" maxlength="32" autocomplete="username" />
</div>
<div class="auth-row">
<label for="authPassword">Password</label>
<input id="authPassword" type="password" maxlength="64" autocomplete="current-password" />
</div>
<button id="showRegisterButton" type="button">Create account</button>
</section>
<section id="registerView" class="auth-panel hidden">
<h2>Register</h2>
<div class="auth-row">
<label for="registerUsername">Username</label>
<input id="registerUsername" type="text" maxlength="32" autocomplete="username" />
</div>
<div class="auth-row">
<label for="registerPassword">Password</label>
<input id="registerPassword" type="password" maxlength="64" autocomplete="new-password" />
</div>
<div class="auth-row">
<label for="registerEmail">Email (optional)</label>
<input id="registerEmail" type="email" maxlength="320" autocomplete="email" />
</div>
<button id="showLoginButton" type="button">Back to login</button>
</section>
<div id="nicknameContainer" class="nickname-row">
<label for="preconnectNickname">Nickname</label>
<input id="preconnectNickname" type="text" maxlength="32" autocomplete="nickname" />
</div>
<div class="controls" id="button-container">
<button id="connectButton">Connect</button>
<button id="logoutButton">Log out</button>
<button id="settingsButton">Settings</button>
<button id="disconnectButton" class="hidden">Disconnect</button>
<button id="focusGridButton" class="hidden" aria-controls="gameCanvas">Chat Grid</button>