Admin interface
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
<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>
|
||||
<button type="button" data-section="alerts-section" aria-controls="alerts-section" aria-expanded="false">Alerts</button>
|
||||
<button type="button" data-section="admin-section" aria-controls="admin-section" aria-expanded="false" hidden>Admin</button>
|
||||
<button type="button" data-section="stats-section" aria-controls="stats-section" aria-expanded="false" hidden>Final stats</button>
|
||||
<button type="button" data-section="rules" aria-controls="rules" aria-expanded="false">Rules</button>
|
||||
<button type="button" data-section="share-controls" aria-controls="share-controls" aria-expanded="false" hidden>Share</button>
|
||||
@@ -61,6 +62,29 @@
|
||||
<p class="welcome-hint">Choose a section above to join in, compare scores, or say hello.</p>
|
||||
</div>
|
||||
|
||||
<section id="admin-section" data-panel hidden aria-labelledby="admin-heading">
|
||||
<header class="panel-header"><div class="header-topline"><p class="eyebrow">KEEP THE EXPERIMENT WELCOMING</p><span class="site-badge">Administrator</span></div>
|
||||
<h2 id="admin-heading">Control room.</h2>
|
||||
<p class="panel-description">Manage player access and keep the conversation on track. Every action is recorded.</p>
|
||||
</header>
|
||||
<div class="panel-body">
|
||||
<div class="form-actions"><button id="admin-refresh" type="button">Refresh dashboard</button></div>
|
||||
<p id="admin-status" role="status" class="fine-print"></p>
|
||||
<p id="admin-error" role="status" class="error"></p>
|
||||
<div id="admin-overview" class="score-grid"></div>
|
||||
<h3 class="subheading">Players</h3>
|
||||
<label class="field" for="admin-player-filter"><span>Filter by player name</span><input id="admin-player-filter" type="search" placeholder="Find a player" autocomplete="off"></label>
|
||||
<p class="fine-print">Role changes and bans revoke the player's sessions. You cannot remove your own access or the last active administrator. Delete account removes credentials and anonymizes the player; historical scores stay.</p>
|
||||
<ul id="admin-players" class="admin-list" aria-label="Player administration"></ul>
|
||||
<h3 class="subheading">Recent chat</h3>
|
||||
<p class="fine-print">Latest 100 visible messages, including automatic announcements. Removal is permanent; it does not undo presses or milestone unlocks.</p>
|
||||
<ul id="admin-messages" class="admin-list" aria-label="Chat moderation"></ul>
|
||||
<h3 class="subheading">Recent admin actions</h3>
|
||||
<p class="fine-print">Most recent 50 actions. IDs are internal account/message identifiers; no passwords or tokens are recorded.</p>
|
||||
<div class="table-scroll"><table id="admin-audit" aria-label="Administrator audit log"></table></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="seasons-section" data-panel hidden aria-labelledby="seasons-heading">
|
||||
<header class="panel-header"><p class="eyebrow">A NEW CHAPTER, FOUR TIMES A YEAR</p>
|
||||
<h2 id="seasons-heading">The seasonal leaderboard.</h2>
|
||||
|
||||
Reference in New Issue
Block a user