From 1479bd9717c474c15122fdb8fc59895b53e8aea3 Mon Sep 17 00:00:00 2001 From: mhoennig Date: Tue, 21 Jul 2026 12:12:41 +0200 Subject: [PATCH] =?UTF-8?q?frontend:=20Kopieren-Schaltfl=C3=A4che=20als=20?= =?UTF-8?q?Icon=20mit=20Tooltip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Textschaltfläche "kopieren" im Text-Panel wird ein Klemmbrett-Icon mit übersetztem Tooltip/aria-Label. Bei Erfolg wechselt es kurz auf ein Häkchen-Icon in Petrol. Icon bleibt beim Sprachwechsel erhalten. Co-Authored-By: Claude Opus 4.8 --- frontend/index.html | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index 22960d8..49c76a8 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -217,14 +217,16 @@ .winbtn:hover{border-color:var(--or);color:var(--or)} .winbtn.active{background:var(--or);color:#fff;border-color:var(--or)} .copybtn{ - font-family:'IBM Plex Sans',sans-serif; - font-size:.72rem;text-transform:none;letter-spacing:0; color:var(--muted);background:var(--card); border:1px solid rgba(36,52,71,.2);border-radius:6px; - padding:2px 9px;cursor:pointer; - display:inline-flex;align-items:center;gap:5px; + padding:3px 6px;cursor:pointer; + display:inline-flex;align-items:center;justify-content:center; } .copybtn:hover,.copybtn.done{border-color:var(--or);color:var(--or)} + .copybtn svg{display:block;width:15px;height:15px} + .copybtn .ic-done{display:none} + .copybtn.done .ic-copy{display:none} + .copybtn.done .ic-done{display:block} textarea{ display:block;width:100%;min-height:0; border:0;outline:none;resize:none; @@ -467,7 +469,10 @@
Struktur (Text) - +
@@ -840,9 +845,14 @@ copyBtn.addEventListener('click', async () => { src.setSelectionRange(0, 0); src.blur(); } - copyBtn.textContent = t('copyDone'); copyBtn.classList.add('done'); - setTimeout(() => { copyBtn.textContent = t('copy'); copyBtn.classList.remove('done'); }, 1500); + copyBtn.title = t('copyDone'); + copyBtn.setAttribute('aria-label', t('copyDone')); + setTimeout(() => { + copyBtn.classList.remove('done'); + copyBtn.title = t('copyTitle'); + copyBtn.setAttribute('aria-label', t('copyTitle')); + }, 1500); }); /* ---------- Internationalisierung (DE/EN/ES/FR) ---------- */