fix(licence): une cle refusee s'affiche en rouge

Le cyan de .auth-hint dit "voici l'etat des choses" (session expiree,
coffre verrouille). Un refus n'est pas un etat, c'est un echec : il doit
se distinguer a la couleur avant d'etre lu. Variante .is-error posee sur
le refus, retiree a chaque nouvel essai.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-05 15:09:04 +01:00
parent d85f01ede2
commit 2cb7d29450
2 changed files with 10 additions and 0 deletions
+8
View File
@@ -292,6 +292,14 @@ input[type="range"]::-webkit-slider-thumb {
text-align: center;
}
.auth-hint:empty { display: none; }
/* Le cyan de .auth-hint dit "voici l'etat des choses" (session expiree,
coffre verrouille). Un refus n'est pas un etat, c'est un echec : il se
distingue a la couleur avant d'etre lu. */
.auth-hint.is-error {
background: var(--danger-soft);
border-color: var(--danger);
color: var(--danger);
}
/* Tag chip input */
.chip-input {
+2
View File
@@ -6957,9 +6957,11 @@ async function ensureLicence() {
e.preventDefault();
const key = input.value.trim();
if (!key) return;
hint.classList.remove('is-error');
hint.textContent = 'Checking…';
const res = await Bridge.licence('activate', key);
if (!res.ok) {
hint.classList.add('is-error');
// Une clé refusée ne dit pas POURQUOI : signature invalide,
// recopie fautive et charge utile trafiquée se ressemblent, et
// détailler n'aiderait que celui qui essaie d'en fabriquer une.