116 lines
4.1 KiB
HTML
116 lines
4.1 KiB
HTML
<!doctype html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Super Sunday — Admin</title>
|
|
<link rel="stylesheet" href="/assets/style.css" />
|
|
<link rel="stylesheet" href="/assets/patch-bubbles.css" />
|
|
<style>
|
|
.wrap{max-width:1100px;margin:0 auto}
|
|
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
|
|
.col-6{grid-column:span 6}
|
|
.col-12{grid-column:span 12}
|
|
.card{background:rgba(15,27,51,.7);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}
|
|
.card h2{font-size:20px;margin:0 0 10px}
|
|
.row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
|
|
.row > *{flex:1 1 180px}
|
|
.muted{color:#a9bfd6}
|
|
.btn{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#1a2442;color:#fff;cursor:pointer}
|
|
.btn:hover{filter:brightness(1.1)}
|
|
input,select{background:#0f1b33;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;color:#fff}
|
|
pre{white-space:pre-wrap;background:rgba(0,0,0,.3);padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);max-height:320px;overflow:auto}
|
|
.status{min-height:24px}
|
|
.danger{background:#3a1520;border-color:#ce4f76}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>Admin</h1>
|
|
<nav>
|
|
<a href="/">Accueil</a>
|
|
<a href="/events">Événements</a>
|
|
<a class="active" href="/admin">Admin</a>
|
|
<a href="/scoreboard">Classement</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="container wrap">
|
|
<div class="grid">
|
|
<section class="card col-12">
|
|
<div class="row">
|
|
<button class="btn" id="btn-health">Tester /api/health</button>
|
|
<span id="health" class="status muted"></span>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="card col-6">
|
|
<h2>Créer un tournoi</h2>
|
|
<form id="t-create-form">
|
|
<div class="row">
|
|
<input id="t-name" placeholder="Nom" required />
|
|
<input id="t-location" placeholder="Lieu" />
|
|
</div>
|
|
<div class="row">
|
|
<label class="muted">Début<input id="t-start" type="date" required /></label>
|
|
<label class="muted">Fin<input id="t-end" type="date" required /></label>
|
|
</div>
|
|
<div class="row">
|
|
<button class="btn" type="submit">Créer</button>
|
|
<span id="t-create-status" class="status muted"></span>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
|
|
<section class="card col-6">
|
|
<h2>Tournois</h2>
|
|
<div class="row">
|
|
<select id="t-list"></select>
|
|
<button class="btn" id="btn-refresh-t">Rafraîchir</button>
|
|
<button class="btn danger" id="btn-del-t">Supprimer</button>
|
|
</div>
|
|
<pre id="tournaments-box" class="muted">—</pre>
|
|
</section>
|
|
|
|
<section class="card col-6">
|
|
<h2>Ajouter un joueur</h2>
|
|
<form id="p-create-form">
|
|
<div class="row">
|
|
<select id="p-tournament"></select>
|
|
<input id="p-name" placeholder="Nom complet" required />
|
|
</div>
|
|
<div class="row">
|
|
<button class="btn" type="submit">Ajouter</button>
|
|
<span id="p-create-status" class="status muted"></span>
|
|
</div>
|
|
</form>
|
|
<pre id="participants-box" class="muted">—</pre>
|
|
</section>
|
|
|
|
<section class="card col-6">
|
|
<h2>Saisir un score</h2>
|
|
<form id="m-score-form">
|
|
<div class="row">
|
|
<select id="m-tournament"></select>
|
|
<input id="m-id" type="number" placeholder="Match ID" required />
|
|
</div>
|
|
<div class="row">
|
|
<input id="m-score-a" type="number" placeholder="Jeux A" min="0" />
|
|
<input id="m-score-b" type="number" placeholder="Jeux B" min="0" />
|
|
<label class="muted"><input id="m-finished" type="checkbox" /> Terminé</label>
|
|
</div>
|
|
<div class="row">
|
|
<button class="btn" type="submit">Enregistrer</button>
|
|
<span id="m-score-status" class="status muted"></span>
|
|
</div>
|
|
</form>
|
|
</section>
|
|
</div>
|
|
</main>
|
|
|
|
<script type="module" src="/assets/bubbles.js"></script>
|
|
<script type="module" src="/admin/admin.js"></script>
|
|
<script type="module" src="/assets/header.js?v=1"></script>
|
|
</body>
|
|
</html>
|