fix(android): un seul bouton sur l'accueil, et il ne ment pas sur sa destination

Il y en avait deux, "Settings" et "Log", et le second a fini par ouvrir
le premier depuis que le journal a demenage dans les reglages. Un bouton
nomme "Log" qui ouvre "Settings" se ment sur son etiquette.

Settings redevient VISIBLE EN PERMANENCE. Le cacher des qu'un coffre
existe laissait l'accueil sans aucune porte vers les reglages - et c'est
precisement quand le coffre refuse de s'ouvrir, code faux ou adresse
fausse, qu'on en a besoin avec le journal. Ce n'est pas un doublon de la
roue dentee : celle-ci est DANS le coffre, ce bouton est sur l'accueil,
jamais cote a cote.

En release, c'est desormais le bouton des reglages qui s'efface, l'appui
long sur la ligne d'etat le ramenant comme avant.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-28 14:09:17 +01:00
parent fe00fe8484
commit 45564e7266
+16 -25
View File
@@ -376,20 +376,18 @@
<div class="stack">
<button class="btn wide main" id="btnOpen">&#10140;&nbsp; Open vault</button>
<button class="btn wide" id="btnSync">&#8635;&nbsp; Sync</button>
<div class="pair">
<!-- Plus de chevron : ce bouton n'ouvre plus un panneau sous lui,
il ouvre un ecran. Le garder promettrait un depliage.
<!-- UN SEUL BOUTON, ET IL NE MENT PAS SUR SA DESTINATION.
Il y en avait deux, "Settings" et "Log", et le second a fini par
ouvrir le premier - le journal ayant demenage dans les reglages. Un
bouton nomme "Log" qui ouvre "Settings" se ment sur son etiquette.
IL NE PARAIT QUE TANT QU'IL N'Y A PAS DE COFFRE. La roue dentee de
la liste mene au meme ecran, donc le repeter ici ne sert qu'a
encombrer l'accueil. Mais on ne peut pas le retirer tout a fait :
sans coffre local, la liste n'existe pas, et il faut bien pouvoir
saisir l'adresse du depot pour aller le chercher. C'est setActions
qui le montre ou le cache, sur le meme signal que "Open vault". -->
<button class="btn" id="btnCfg">&#9881;&nbsp; Settings</button>
<button class="btn" id="btnLog" data-panel="log">&#8801;&nbsp;
Log<span class="chev">&#9662;</span></button>
</div>
TOUJOURS VISIBLE, contrairement a ce qu'on avait essaye. Le cacher
des qu'un coffre existe laissait l'accueil sans aucune porte vers les
reglages - et c'est precisement quand le coffre REFUSE de s'ouvrir
(code faux, adresse fausse) qu'on en a besoin, avec le journal.
Ce n'est pas un doublon de la roue dentee : celle-ci est DANS le
coffre, celui-ci est sur l'accueil. Jamais cote a cote. -->
<button class="btn wide" id="btnCfg">&#9881;&nbsp; Settings</button>
</div>
<!-- LE CODE EST ICI, PAS DANS LES REGLAGES DU SERVEUR. Il ne concerne que
@@ -704,12 +702,6 @@ function showLog(on) {
on ? 'Hide the log' : 'Show the log';
}
document.getElementById('btnCfg').addEventListener('click', openSettings);
document.getElementById('btnLog').addEventListener('click', function () {
// 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) {
return String(s == null ? '' : s).replace(/[&<>"]/g, function (c) {
@@ -1583,10 +1575,6 @@ var PM = {
setActions: function (canOpen, syncLabel, busy) {
var o = document.getElementById('btnOpen'), s = document.getElementById('btnSync');
o.hidden = !canOpen;
// Un coffre lisible => la roue dentee de la liste est atteignable, et ce
// bouton fait double emploi. Pas de coffre => c'est la seule porte vers
// l'adresse du depot, sans laquelle il n'y a rien a telecharger.
document.getElementById('btnCfg').hidden = canOpen;
// textContent et non innerHTML : l'intitule vient de Delphi, et une valeur
// interpretee comme du balisage n'a pas de raison de l'etre.
s.textContent = '\u21BB ' + syncLabel;
@@ -1616,11 +1604,14 @@ var PM = {
/// diagnostics restent atteignables le jour ou quelque chose cloche a
/// distance, ce qui arrivera.
hideLog: function () {
document.getElementById('btnLog').hidden = true;
// C'EST LE BOUTON DES REGLAGES QUI S'EFFACE, plus celui de l'accueil : le
// journal a demenage, et l'accueil n'en porte plus. Le geste qui le ramene
// ne change pas - un appui long sur la ligne d'etat.
document.getElementById('sLog').hidden = true;
var st = document.getElementById('status'), timer = null;
st.addEventListener('touchstart', function () {
timer = setTimeout(function () {
document.getElementById('btnLog').hidden = false;
document.getElementById('sLog').hidden = false;
toast('Log available');
}, 1500);
});