fix(android): les refus se voient, et la croix se recale sur le champ
Un refus s'affichait du meme gris qu'un etat : "Master password: 8 characters at least" se lisait comme "Vault on this device", et rien ne disait que l'application venait de refuser. StatusErr le met en rouge - deux procedures plutot qu'un drapeau devine du texte, parce que trier des messages sur leur contenu a deja detruit un cache dans ce projet. C'est l'appelant qui sait s'il refuse. La croix des champs etait calee a top: 8px, en compensation du margin-top du champ. Les piles annulent ce margin depuis qu'on y a unifie l'espacement, et la croix restait donc 8 px trop bas. Elle s'ancre desormais au bord INFERIEUR, le seul que le champ touche dans les deux cas. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -270,6 +270,10 @@
|
||||
|
||||
/* --- deverrouillage ----------------------------------------------------- */
|
||||
.status { color: var(--muted); margin: 22px 4px 14px; min-height: 20px; }
|
||||
/* UN REFUS N'EST PAS UN ETAT. "Master password: 8 characters at least" se
|
||||
lisait du meme gris que "Vault on this device" - on ne voyait pas que
|
||||
l'application venait de refuser quelque chose. */
|
||||
.status.err { color: #ff9d9d; }
|
||||
.stack { display: flex; flex-direction: column; gap: 8px; }
|
||||
/* L'espace de 8 px vit A L'INTERIEUR de chaque pile. Deux piles voisines se
|
||||
touchaient donc, et "Create vault" collait a "Download vault" alors que
|
||||
@@ -304,8 +308,12 @@
|
||||
.in-wrap { position: relative; }
|
||||
/* Le champ laisse la place a la croix, sinon le texte passe dessous. */
|
||||
.in-wrap .field-in { padding-right: 44px; }
|
||||
/* ANCREE EN BAS, PAS EN HAUT. Le champ porte un margin-top de 8 px, que les
|
||||
piles annulent : caler la croix a `top: 8px` la laissait donc 8 px trop bas
|
||||
des que le margin disparaissait. Le bord INFERIEUR, lui, est celui que le
|
||||
champ touche dans les deux cas - le margin est au-dessus. */
|
||||
.in-x {
|
||||
position: absolute; right: 0; top: 8px; width: 44px; height: 46px;
|
||||
position: absolute; right: 0; bottom: 0; width: 44px; height: 46px;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
color: var(--muted); font-size: 22px;
|
||||
}
|
||||
@@ -1601,8 +1609,12 @@ var PM = {
|
||||
document.body.classList.remove('on-list', 'on-detail', 'searching');
|
||||
view = 'unlock';
|
||||
},
|
||||
setStatus: function (text) {
|
||||
document.getElementById('status').textContent = text;
|
||||
setStatus: function (text, err) {
|
||||
var s = document.getElementById('status');
|
||||
s.textContent = text;
|
||||
// classList.toggle avec un second argument : la classe suit le drapeau,
|
||||
// sans qu'un message neutre ait a penser a l'enlever.
|
||||
s.classList.toggle('err', !!err);
|
||||
},
|
||||
/// Etat des deux actions : ouvrir n'a de sens qu'avec un coffre local
|
||||
/// lisible, et synchroniser s'appelle autrement quand il n'y en a pas.
|
||||
|
||||
Reference in New Issue
Block a user