Partiel _header.html unique pour les 19 pages (fin des copies qui dérivaient): desktop une ligne — primaires + menu Plus + Ctrl K, page active déduite du gabarit dans render(); mobile ≤900px burger + panneau ≥44px, Échap/clic extérieur; wallboard sans header et triage sur le même partiel. nav.js partagé.
75 lines
3.7 KiB
HTML
75 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="fr" data-theme="dark">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="csrf-token" content="{{ csrf_token }}">
|
|
<title>Triage {{ full_name }} — Kanbante</title>
|
|
<link rel="stylesheet" href="/static/css/style.css">
|
|
</head>
|
|
<body>
|
|
{% include "_header.html" %}
|
|
|
|
<main class="triage-main" data-repo="{{ full_name }}">
|
|
<div class="triage-head">
|
|
<h1>📥 Triage — {{ full_name }}</h1>
|
|
<div class="triage-progress-wrap">
|
|
<div class="triage-progress"><div class="triage-progress-bar" id="triage-bar"></div></div>
|
|
<span class="triage-progress-label" id="triage-progress-label"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<section class="triage-card" id="triage-card" aria-live="polite">
|
|
<div class="triage-card-top">
|
|
<span class="triage-card-num" id="tc-num"></span>
|
|
<span class="triage-card-date" id="tc-date"></span>
|
|
<a class="triage-card-link" id="tc-link" href="#" target="_blank" rel="noopener">Ouvrir dans Gitea ↗</a>
|
|
</div>
|
|
<h2 class="triage-card-title" id="tc-title"></h2>
|
|
<div class="triage-card-labels" id="tc-labels"></div>
|
|
<p class="triage-card-excerpt" id="tc-excerpt"></p>
|
|
<p class="triage-card-assign" id="tc-assign"></p>
|
|
</section>
|
|
|
|
<section class="triage-done" id="triage-done" hidden>
|
|
<h2>🎉 Session terminée</h2>
|
|
<ul class="triage-summary" id="triage-summary"></ul>
|
|
<p>
|
|
<a class="btn-save btn-inline" href="/board/{{ full_name }}">📋 Retour au board</a>
|
|
<a class="btn-save btn-inline" href="/triage/{{ full_name }}">🔁 Nouvelle session</a>
|
|
</p>
|
|
</section>
|
|
|
|
<div class="triage-status" id="triage-status" role="status"></div>
|
|
|
|
<section class="triage-keys" id="triage-keys">
|
|
<button type="button" data-act="move" data-col="todo"><kbd>1</kbd> 📋 À faire</button>
|
|
<button type="button" data-act="move" data-col="in_progress"><kbd>2</kbd> 🚧 En cours</button>
|
|
<button type="button" data-act="move" data-col="qa"><kbd>3</kbd> 🧪 QA</button>
|
|
<button type="button" data-act="move" data-col="review"><kbd>4</kbd> 👀 Révision</button>
|
|
<button type="button" data-act="move" data-col="done"><kbd>5</kbd> ✅ Terminé</button>
|
|
<button type="button" data-act="labels"><kbd>L</kbd> 🏷️ Étiquettes</button>
|
|
<button type="button" data-act="assign"><kbd>A</kbd> 👤 M'assigner</button>
|
|
<button type="button" data-act="close"><kbd>X</kbd> 🚫 Fermer</button>
|
|
<button type="button" data-act="next"><kbd>Entrée</kbd> ⏭️ Suivante</button>
|
|
<button type="button" data-act="undo"><kbd>Z</kbd> ↩️ Annuler</button>
|
|
</section>
|
|
|
|
<div class="triage-labels" id="triage-labels" hidden>
|
|
<div class="triage-labels-head">
|
|
<strong>🏷️ Étiquettes de la carte</strong>
|
|
<button type="button" class="btn-sm" id="triage-labels-close">✕ (Échap)</button>
|
|
</div>
|
|
<div class="triage-labels-list" id="triage-labels-list">Chargement…</div>
|
|
</div>
|
|
</main>
|
|
<footer>
|
|
<span>Kanbante v{{ version }} · session de triage — les décisions partent dans Gitea immédiatement</span>
|
|
</footer>
|
|
<script id="triage-queue" type="application/json">{{ queue_json|safe }}</script>
|
|
{% include "_palette.html" %}
|
|
<script src="/static/js/palette.js" defer></script>
|
|
<script src="/static/js/triage.js" defer></script>
|
|
</body>
|
|
</html>
|