gameservers-control/public/index.html

126 lines
4.4 KiB
HTML

<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Shinuwa GS Control</title>
<link rel="stylesheet" href="/styles/app.css" />
</head>
<body>
<header class="topbar">
<div class="brand">
<div class="brand__mark" aria-hidden="true">
<span></span>
</div>
<div>
<h1>Shinuwa</h1>
<p>GS Control · <span id="sessionLabel">Non connecte</span></p>
</div>
</div>
<div class="topbar__actions">
<button class="btn btn--ghost" id="refreshBtn" type="button" hidden>Rafraichir</button>
<button class="btn btn--ghost" id="logoutBtn" type="button" hidden>Deconnexion</button>
</div>
</header>
<main class="shell">
<div id="status" class="status" hidden></div>
<section class="panel login-panel" id="loginView">
<div class="login-panel__intro">
<div class="brand__mark brand__mark--large" aria-hidden="true">
<span></span>
</div>
<p class="eyebrow">Acces securise</p>
<h2>GS Control</h2>
</div>
<form id="loginForm" class="stack">
<label for="passwordInput">Mot de passe</label>
<input id="passwordInput" type="password" autocomplete="current-password" required />
<button class="btn" type="submit">Se connecter</button>
</form>
</section>
<section id="appView" hidden>
<nav class="tabs" aria-label="Navigation">
<button class="tab tab--active" data-tab="servers" type="button">Serveurs</button>
<button class="tab" data-tab="admin" type="button" id="adminTab" hidden>Admin</button>
<button class="tab" data-tab="logs" type="button" id="logsTab" hidden>Logs</button>
</nav>
<section class="panel" data-panel="servers">
<div class="panel__header">
<div>
<p class="eyebrow">Tableau de bord</p>
<h2>Serveurs disponibles</h2>
<p>Statut synchronise toutes les 5 minutes.</p>
</div>
</div>
<div class="info-banner">
<div>
<strong>Capacite limitee</strong>
<p>Un seul serveur de jeux peut etre lance a la fois afin d'eviter de surcharger le serveur.</p>
</div>
<div>
<strong>Arret automatique</strong>
<p>Les serveurs de jeux se ferment automatiquement si aucun joueur n'est present pendant 1 h.</p>
</div>
</div>
<div class="server-grid" id="serversBody"></div>
</section>
<section class="panel" data-panel="admin" hidden>
<div class="panel__header">
<div>
<h2>Groupes</h2>
<p>Gestion des mots de passe et permissions serveur.</p>
</div>
<button class="btn btn--ghost btn--small" id="cleanupServersBtn" type="button">
Nettoyer les serveurs absents
</button>
</div>
<form id="createGroupForm" class="inline-form">
<input id="newGroupName" type="text" placeholder="Nom du groupe" required />
<input
id="newGroupPassword"
type="text"
placeholder="Mot de passe optionnel"
autocomplete="off"
/>
<div class="inline-form__actions">
<button class="btn" type="submit">Creer</button>
</div>
</form>
<div id="generatedPassword" class="notice" hidden></div>
<h3 class="section-title">Groupes existants</h3>
<div id="groupsList" class="groups-grid"></div>
</section>
<section class="panel" data-panel="logs" hidden>
<div class="panel__header">
<div>
<h2>Logs de lancement</h2>
<p>Conservation automatique sur 7 jours.</p>
</div>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Date</th>
<th>Groupe</th>
<th>Serveur</th>
</tr>
</thead>
<tbody id="logsBody"></tbody>
</table>
</div>
</section>
</section>
</main>
<script type="module" src="/scripts/app.js"></script>
</body>
</html>