Kanbante 0.45.5 : panneau d'alertes unifiées lisible en thème clair #77

Merged
bruno merged 4 commits from correctif-alertes-clair-0-45-5 into main 2026-10-30 11:42:02 -04:00
4 changed files with 47 additions and 1 deletions
+6
View File
@@ -1,3 +1,9 @@
## 0.45.5 — 2026-10-30 — Panneau d'alertes unifiées lisible en thème clair
- **Retour de Bruno (capture)** : en mode clair, le panneau « Alertes unifiées » s'affichait sombre et illisible — titre invisible, onglets vides. Cause : le CSS neutre `draco-alertes.css` (Fusion #69) attend des variables d'hôte (`--bg-primary`, `--text-dim`, `--text-tertiary`) que Kanbante ne définissait pas ; le panneau retombait sur ses replis sombres pendant que `--text` suivait le thème clair → texte sombre sur fond sombre.
- **Correctif côté hôte** (le fichier neutre partagé n'est pas modifié) : `.draco-alertes-box` reçoit ses variables branchées sur les jetons Kanbante — `--bg-primary: var(--surface)`, `--text-dim: var(--text-2)`, `--text-tertiary: var(--text-3)` — qui suivent déjà `html[data-theme]`. Le panneau est donc correct dans les deux thèmes ; `--text` et `--border` existaient déjà.
- **Tests** : `tests/test_alertes_theme.py` (variables branchées + fichier neutre inchangé). Vérification navigateur réel : styles calculés et captures relues en clair et en sombre.
## 0.45.4 — 2026-10-30 — Logo officiel en barre latérale, board clair, badge d'âge lisible
Retours de Bruno (captures du 2026-10-30), trois correctifs :
+1 -1
View File
@@ -177,7 +177,7 @@ from urllib.parse import urlparse
BASE_DIR = Path(__file__).resolve().parent.parent
APP_VERSION = "0.45.4"
APP_VERSION = "0.45.5"
def _env_bool(name: str, default: bool) -> bool:
+15
View File
@@ -1961,6 +1961,21 @@ html[data-theme="light"] .draco-bar {
--ink: #1b1d1a; --ink-2: #5c615a; --ink-3: #787d75; --line: #dedfd9;
}
/* Alertes unifiées (Fusion #69, retour de Bruno 2026-10-30) :
le CSS neutre draco-alertes.css attend des variables d'hôte
(--bg-primary, --text-dim, --text-tertiary) que Kanbante ne
définissait pas — le panneau retombait sur ses replis
sombres alors que --text suit le thème : en mode clair,
texte sombre sur fond sombre, panneau illisible. On branche
les variables sur les jetons Kanbante, qui suivent déjà
html[data-theme] — le panneau devient correct dans les
deux thèmes. (--text et --border existent déjà.) */
.draco-alertes-box {
--bg-primary: var(--surface);
--text-dim: var(--text-2);
--text-tertiary: var(--text-3);
}
/* Squelette de chargement (#65) : tuiles et colonnes, sans JS. */
.skeleton { background: var(--surface-2); border-radius: var(--radius); animation: skeleton-pulse 1.4s ease-in-out infinite; }
@keyframes skeleton-pulse { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }
+25
View File
@@ -0,0 +1,25 @@
"""Panneau d'alertes unifiées (Fusion #69) et thèmes.
Le CSS neutre draco-alertes.css attend des variables d'hôte
(--bg-primary, --text-dim, --text-tertiary). Kanbante ne les
définissait pas : le panneau retombait sur ses replis sombres,
illisible en thème clair (retour de Bruno, 2026-10-30).
L'hôte les branche sur ses propres jetons, qui suivent
html[data-theme].
"""
def test_alertes_variables_hote_branchees(client, fake_gitea):
css = client.get("/static/css/style.css").text
assert ".draco-alertes-box {" in css
assert "--bg-primary: var(--surface);" in css
assert "--text-dim: var(--text-2);" in css
assert "--text-tertiary: var(--text-3);" in css
def test_alertes_css_neutre_inchange(client, fake_gitea):
# Le fichier partagé n'est pas modifié côté Kanbante :
# il continue de consommer les variables d'hôte.
css = client.get("/static/css/draco-alertes.css").text
assert "background: var(--bg-primary, #1f1f1f);" in css
assert "color: var(--text-dim, #999);" in css