fix(android): le journal se deplie dans les reglages, la ou on le demande

Il n'affichait rien, et pas parce qu'il etait vide. togglePanel
parcourait ['cfg','log'] et cherchait pour chacun le bouton qui le
commande - or btnCfg a perdu son data-panel le jour ou les reglages sont
devenus un ecran. La premiere iteration levait sur un null, et le journal
n'etait jamais deplie, quel que soit le chemin.

Il vivait de plus sur l'accueil : "Show the log" refermait les reglages
pour le deplier derriere, c'est-a-dire sur un ecran qu'on ne regarde plus
des que le coffre est ouvert. Il est maintenant DANS les reglages, deplie
sur place - le seul ecran atteignable depuis l'accueil comme depuis le
coffre.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-28 12:55:06 +01:00
parent 6c5fb2f4ea
commit fe00fe8484
+25 -10
View File
@@ -455,7 +455,6 @@
<div class="in-x" data-clear="pwd">&#215;</div>
</div>
</div>
<pre id="log" class="panel" hidden></pre>
</div>
</div>
@@ -557,6 +556,14 @@
<h2>Diagnostics</h2>
<button class="btn wide" id="sLog">Show the log</button>
<!-- LE JOURNAL EST ICI, PAS SUR L'ACCUEIL. Il y vivait, et depuis que les
reglages sont un ecran on l'y atteignait par un bouton qui refermait
les reglages pour le deplier derriere - c'est-a-dire sur l'accueil, que
l'on ne regarde plus des que le coffre est ouvert. Il se depliait donc
hors de vue, et paraissait ne rien afficher.
Deplie SUR PLACE desormais : les reglages sont le seul ecran
atteignable depuis l'accueil comme depuis le coffre. -->
<pre id="log" hidden></pre>
<div class="note" id="sVersion"></div>
</div>
</div>
@@ -684,16 +691,24 @@ document.getElementById('unlock').addEventListener('click', function (ev) {
// UN SEUL PANNEAU DEPLIE A LA FOIS. Les deux s'ouvraient l'un sous l'autre,
// dans la meme colonne et avec le meme fond : le journal se lisait comme la
// suite des reglages.
function togglePanel(name) {
['cfg', 'log'].forEach(function (n) {
var open = (n === name) && document.getElementById(n).hidden;
document.getElementById(n).hidden = !open;
document.querySelector('[data-panel="' + n + '"]').classList.toggle('open', open);
});
// PLUS DE BASCULE A DEUX PANNEAUX, ET C'EST ELLE QUI CASSAIT TOUT. Elle
// parcourait ['cfg','log'] et cherchait pour chacun le bouton qui le
// commande - or btnCfg a perdu son data-panel le jour ou les reglages sont
// devenus un ecran. La premiere iteration levait donc sur un null, et le
// journal n'etait jamais deplie, quel que soit le chemin emprunte.
//
// Un seul panneau reste : une bascule suffit, sans table a tenir a jour.
function showLog(on) {
document.getElementById('log').hidden = !on;
document.getElementById('sLog').textContent =
on ? 'Hide the log' : 'Show the log';
}
document.getElementById('btnCfg').addEventListener('click', openSettings);
document.getElementById('btnLog').addEventListener('click', function () {
togglePanel('log');
// Le journal vit dans les reglages : le bouton de l'accueil y mene et le
// deplie, plutot que de promettre un depliage sur place qui n'existe plus.
openSettings();
showLog(true);
});
function esc(s) {
@@ -1442,6 +1457,7 @@ function openSettings() {
document.getElementById('sTok').value = elTok.value;
document.getElementById('sPwd').value = elPwd.value;
document.getElementById('sPinNew').value = '';
showLog(false);
document.body.classList.add('on-settings');
send('state?view=settings');
}
@@ -1476,8 +1492,7 @@ document.getElementById('histBody').addEventListener('click', function (ev) {
send('copyhist?k=' + b.getAttribute('data-hcopy'));
});
document.getElementById('sLog').addEventListener('click', function () {
closeSettings();
if (document.getElementById('log').hidden) togglePanel('log');
showLog(document.getElementById('log').hidden);
});
document.getElementById('sPinSet').addEventListener('click', function () {
var v = document.getElementById('sPinNew').value;