From aa875804434a97bb0f82f8704c503b1499684d0e Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Mon, 17 Aug 2026 15:28:48 +0100 Subject: [PATCH] fix(android): no disc behind an entry icon The translucent circle exists to back the initials of an entry without an icon. A favicon brings its own transparency, so the circle showed through and around it - a saucer under the drawing, plainly visible on the Gitea cup. The circle is dropped as soon as the row carries an image, through a class on the avatar rather than :has() so it does not depend on how new the engine is. object-fit also goes from cover to contain: an icon is not a photograph and has no business being cropped. Co-Authored-By: Claude Opus 5 --- android-client/web/app.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/android-client/web/app.html b/android-client/web/app.html index 170c608..c8274a5 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -118,7 +118,13 @@ display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 16px; overflow: hidden; } - .av img { width: 100%; height: 100%; object-fit: cover; } + /* PAS DE PASTILLE SOUS UNE ICONE. Le rond translucide sert de fond aux + initiales ; une favicon a son propre fond transparent, et le rond se + voyait donc au travers et autour d'elle - une soucoupe sous le dessin. + `contain` plutot que `cover` : une icone n'est pas une photo, on ne la + recadre pas. */ + .av.has-img { background: none; } + .av img { width: 100%; height: 100%; object-fit: contain; } .txt { flex: 1; min-width: 0; } .txt b { display: block; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @@ -371,7 +377,7 @@ function renderRows() { if (!matches(e)) continue; shown++; html += '
' - + '
' + + '
' + (e.icon ? '' : esc(e.initial)) + '
' + '
' + esc(e.name) + ''