fix(android): le message se voit dans les reglages, et le code s'y cache coffre ferme

Le toast n'avait pas de z-index : il se peignait DERRIERE l'ecran des
reglages, qui est a 80. "Unlock code set" partait bien, mais sous la
page, et ne se decouvrait qu'en sortant - quand il ne s'etait pas deja
eteint. Un message qui ne se voit pas la ou on l'a provoque ne sert a
rien.

La section du code de deverrouillage ne parait plus que coffre ouvert.
Poser comme retirer exigent le clair en main : coffre ferme, les deux ne
pouvaient que refuser, et proposer une action qui refuse toujours vaut
moins que ne rien proposer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-28 17:36:37 +01:00
parent d428a6fc7f
commit b3f725137e
+18 -1
View File
@@ -340,8 +340,13 @@
[hidden] { display: none !important; }
/* AU-DESSUS DES VOILES. Sans z-index, le message se peignait DERRIERE
l'ecran des reglages (80) : "Unlock code set" partait bien, mais sous la
page, et ne se decouvrait qu'en sortant - quand il ne s'etait pas deja
eteint. Un message qui ne se voit pas la ou on l'a provoque ne sert a
rien. Au-dessus du voile d'attente (90) aussi, pour la meme raison. */
.toast {
position: fixed; left: 12px; right: 12px; bottom: 14px;
position: fixed; left: 12px; right: 12px; bottom: 14px; z-index: 100;
background: rgba(10,20,40,.92); color: var(--text);
border-radius: var(--radius-s); padding: 12px 16px; font-size: 14px;
text-align: center; opacity: 0; transition: opacity .2s;
@@ -557,6 +562,10 @@
password that opens a vault created on this phone - that one is asked for
on the home screen.</div>
<!-- COFFRE FERME, SECTION CACHEE. Poser comme retirer un code exigent le
clair en main : les deux ne pourraient que refuser, et proposer une
action qui refuse toujours vaut moins que ne rien proposer. -->
<div id="secCode" hidden>
<h2>Unlock code</h2>
<div class="in-wrap">
<input class="field-in" id="sPinNew" placeholder="new unlock code or password"
@@ -573,6 +582,7 @@
digits or a full password - a longer one is harder to guess, and it is
asked for only when the vault opens. Removing it leaves the vault
readable by anyone holding the phone unlocked.</div>
</div>
<h2>Diagnostics</h2>
<button class="btn wide" id="sLog">Show the log</button>
@@ -675,6 +685,10 @@ var authMode = 'open';
// dernier ecrasait le premier. Chacun met a jour sa variable, la fonction
// tranche.
var pinNeeded = false;
// COFFRE OUVERT OU NON, du point de vue de la page. Delphi le dit sans le dire :
// setVault n'arrive qu'avec un coffre en main, et wipe accompagne chaque
// verrouillage. Deux points, et ils suffisent.
var vaultOpen = false;
// L'ACCUEIL SE LIT DE HAUT EN BAS : aller chercher le coffre, regler, et creer
// en dernier - c'est l'ordre des frequences, pas celui du code. La creation
// etait en tete parce que son bloc etait ecrit en premier dans la page.
@@ -1496,6 +1510,7 @@ function openSettings() {
document.getElementById('sTok').value = elTok.value;
document.getElementById('sPwd').value = elPwd.value;
document.getElementById('sPinNew').value = '';
document.getElementById('secCode').hidden = !vaultOpen;
showLog(false);
document.body.classList.add('on-settings');
send('state?view=settings');
@@ -1578,6 +1593,7 @@ document.getElementById('back').addEventListener('click', goList);
// --- appele par Delphi -----------------------------------------------------
var PM = {
setVault: function (json) {
vaultOpen = true;
var d = JSON.parse(json);
entries = d.entries || [];
folders = d.folders || [];
@@ -1782,6 +1798,7 @@ var PM = {
// Efface tout ce qui est en clair. Appele au passage en arriere-plan et au
// verrouillage : le tas JS n'est pas efface par le masquage de la vue.
wipe: function () {
vaultOpen = false;
entries = []; folders = []; detailRows = [];
document.getElementById('rows').innerHTML = '';
document.getElementById('fields').innerHTML = '';