fix(licence): Register ne clignote plus avant d'etre masque

Les onglets etaient visibles par defaut puis masques a la reponse de
/ping : Register restait affiche quelques millisecondes. Ils naissent
maintenant invisibles (visibility, place reservee) et ne sont reveles
qu'une fois la reponse connue — licence valide, ils apparaissent sans
rien decaler ; licence refusee, Register n'est jamais montre.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-17 06:08:37 +01:00
parent 510b75d5bf
commit d8f4f19041
3 changed files with 18 additions and 7 deletions
+12 -6
View File
@@ -7037,14 +7037,20 @@ async function ensureLicence() {
// Pas d'await chez l'appelant : l'ecran d'authentification ne doit pas
// attendre ce test pour s'afficher.
async function applyRegisterVisibility() {
if (!Bridge.active) return;
let refused = false;
try { await api('/ping'); }
// Le 404 JSON exact de la 2e couche, pas n'importe quel 404 : le verrou du
// jeton repond aussi 404, mais sans corps JSON.
catch (e) { refused = (e.status === 404 && e.body && e.body.error === 'Not found'); }
if (Bridge.active) {
try { await api('/ping'); }
// Le 404 JSON exact de la 2e couche, pas n'importe quel 404 : le verrou
// du jeton repond aussi 404, mais sans corps JSON.
catch (e) { refused = (e.status === 404 && e.body && e.body.error === 'Not found'); }
}
const tabs = document.querySelector('.auth-tabs');
if (tabs) tabs.classList.toggle('is-hidden', refused);
// Les onglets naissent invisibles (is-pending) : on ne les revele qu'une
// fois la reponse connue, sinon Register clignote avant d'etre masque.
if (tabs) {
tabs.classList.toggle('is-hidden', refused);
tabs.classList.remove('is-pending');
}
if (refused) {
$$('.auth-tab').forEach(x => x.classList.toggle('is-active', x.dataset.tab === 'login'));
$('#loginForm').classList.remove('is-hidden');