From 5f1a98df7d338ea27fee5bc39008d55e5468dafe Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Fri, 25 Sep 2026 14:39:31 +0100 Subject: [PATCH] ui(apk): le formulaire de nouvelle entree devient une seule carte Sept champs faisaient sept cartes, chacune contenant un champ avec son propre fond et ses coins - rectangle dans rectangle. Une carte, des lignes dedans, le champ reduit a son trait de saisie ; le bouton Save sort de sa carte. Co-Authored-By: Claude Opus 5 --- android-client/web/app.html | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/android-client/web/app.html b/android-client/web/app.html index a3de8ad..9a2e983 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -309,6 +309,32 @@ jamais - la fin d'une URL longue restait hors d'atteinte. */ -webkit-user-select: text; user-select: text; } + /* UN FORMULAIRE EST UNE SEULE CARTE. Sept champs faisaient sept cartes, + chacune avec son fond et ses coins - un empilement de rectangles ou l'oeil + ne voit plus le formulaire. Ici une carte, et des lignes dedans. */ + .form { background: var(--surface); border-radius: var(--radius); + padding: 0 14px; margin-bottom: 8px; } + .form .field { background: none; border-radius: 0; margin: 0; + padding: 8px 0 6px; + border-bottom: 1px solid rgba(255,255,255,.07); } + .form .field:last-child { border-bottom: 0; } + .form .field .field-in { border-bottom: 0; } + /* Le de a la meme hauteur que le champ qu'il accompagne, sinon il etire la + ligne et le trait de saisie remonte tout seul. */ + .form .field .btn.ico-btn { width: 38px; min-width: 38px; height: 38px; } + /* UNE CARTE NE CONTIENT PAS UNE SECONDE BOITE. La carte .field porte deja un + fond et des coins arrondis ; le champ qui s'y pose n'a donc besoin ni de + l'un ni de l'autre - juste d'un trait qui dise ou l'on ecrit, et qui + s'allume quand le doigt s'y pose. Hors carte (reglages, deverrouillage), + .field-in garde sa boite : la, rien d'autre ne la dessine. */ + .field .field-in { + background: transparent; border-radius: 0; padding-left: 0; padding-right: 0; + height: 38px; margin-top: 0; + border-bottom: 1px solid rgba(255,255,255,.16); + } + .field .field-in:focus { border-bottom-color: var(--accent); } + .field select.field-in { padding-left: 0; } + .field textarea.field-in { padding: 6px 0; } .field-in.multi { height: auto; min-height: 46px; overflow: hidden; padding: 12px 44px 12px 14px; resize: none; line-height: 1.35; word-break: break-all; display: block; } .field-in::placeholder { color: var(--muted); } @@ -1433,7 +1459,8 @@ function openNewEntry() { closeMenu(); document.getElementById('kebab').hidden = true; document.getElementById('fields').innerHTML = - '
Kind
' + '
' + + '
Kind
' + '' + '
' + newFolderField() @@ -1449,11 +1476,12 @@ function openNewEntry() { // sur une entree qu'on venait de creer - il fallait enregistrer puis // rouvrir. Meme intitule que l'editeur pour qu'on reconnaisse le champ. + newField('nTotp', '2FA secret', 'nTotpRow') - + '
' + + '
' + + '
' // flex:1 et non .wide : .wide ne regle que le rembourrage, et la largeur // pleine vient d'etre etire dans son conteneur. + '' - + '
'; + + '
'; document.body.classList.remove('on-list'); document.body.classList.add('on-detail'); view = 'detail';