format_standup_text + _standup_data (journal de la veille, focus du jour, vieillissantes QA/Révision); page /standup copiable, /api/standup; inclusion optionnelle au briefing ntfy (KANBANTE_BRIEFING_INCLUDE_STANDUP).
56 lines
2.5 KiB
HTML
56 lines
2.5 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>Standup — Kanbante</title>
|
|
<link rel="stylesheet" href="/static/css/style.css">
|
|
</head>
|
|
<body>
|
|
<header class="app-header">
|
|
<a href="/" class="logo">📋 Kanbante</a>
|
|
<nav class="nav-pills">
|
|
<a href="/" class="nav-pill">🏠 Projets</a>
|
|
<a href="/focus" class="nav-pill">🎯 Focus</a>
|
|
<a href="/today" class="nav-pill">🌅 Aujourd'hui</a>
|
|
<a href="/briefing" class="nav-pill">📊 Briefing</a>
|
|
<a href="/standup" class="nav-pill">🗣️ Standup</a>
|
|
<button type="button" class="nav-pill palette-trigger" title="Palette de commandes (Ctrl+K)">⌨️ Ctrl K</button>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="focus-main">
|
|
<section class="briefing-card">
|
|
<h1>🗣️ Standup automatique</h1>
|
|
<p>Écrit par le journal, pas par la mémoire : fermé/déplacé <strong>hier</strong>, focus <strong>aujourd'hui</strong>, cartes qui vieillissent en QA/Révision en <strong>blocages</strong>.</p>
|
|
<p>
|
|
<button type="button" class="btn-save btn-inline" id="standup-copy">📋 Copier le standup</button>
|
|
{% if include_in_briefing %}
|
|
<span class="chip-ok">Inclus dans le briefing ntfy du matin ✔</span>
|
|
{% else %}
|
|
<span class="notes-hint">Astuce : <code>KANBANTE_BRIEFING_INCLUDE_STANDUP=1</code> l'ajoute au briefing ntfy du matin.</span>
|
|
{% endif %}
|
|
</p>
|
|
</section>
|
|
<section class="briefing-card">
|
|
<pre class="briefing-text" id="standup-text">{{ text }}</pre>
|
|
</section>
|
|
</main>
|
|
<footer>
|
|
<span>Kanbante v{{ version }} · zéro saisie, toujours factuel, daté</span>
|
|
</footer>
|
|
{% include "_palette.html" %}
|
|
<script src="/static/js/palette.js" defer></script>
|
|
<script>
|
|
document.getElementById('standup-copy').addEventListener('click', async () => {
|
|
const text = document.getElementById('standup-text').textContent;
|
|
try {
|
|
await navigator.clipboard.writeText(text);
|
|
document.getElementById('standup-copy').textContent = '✅ Copié !';
|
|
} catch (e) { alert('Copie impossible : ' + e); }
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|