From ccf60db15ff7b1fa204d09a87d475c1f7d9d5616 Mon Sep 17 00:00:00 2001 From: Sucukdeluxe <259325684+Sucukdeluxe@users.noreply.github.com> Date: Fri, 21 Aug 2026 00:12:17 +0200 Subject: [PATCH] feat: reveal available updates beside speed Collapse the header update action completely when no update exists and animate the green action outward to the left of the fixed bandwidth widget only after a real update is detected. --- renderer/app.js | 9 +++++++- renderer/index.html | 10 +++++---- renderer/styles.css | 39 +++++++++++++++++++++++++++++++++- tests/startup-renderer.test.js | 7 +++++- tests/ui-smoke.js | 20 ++++++++--------- 5 files changed, 68 insertions(+), 17 deletions(-) diff --git a/renderer/app.js b/renderer/app.js index 203eb1b..0fa7e2f 100644 --- a/renderer/app.js +++ b/renderer/app.js @@ -801,6 +801,7 @@ function _setHeaderUpdateLabel(text) { function _syncHeaderUpdateState() { const button = document.getElementById('headerUpdateBtn'); + const slot = document.getElementById('headerUpdateSlot'); const available = !!(_knownUpdateInfo && _knownUpdateInfo.available); const version = available ? String(_knownUpdateInfo.remoteVersion || '').replace(/^v/i, '') : ''; const hint = _updateCheckBusy @@ -808,10 +809,15 @@ function _syncHeaderUpdateState() { : available ? `Update v${version || 'unbekannt'} verfügbar. Klicken zum Installieren.` : 'Nach Aktualisierungen suchen'; + if (slot) { + slot.classList.toggle('is-visible', available); + slot.setAttribute('aria-hidden', available ? 'false' : 'true'); + } if (button) { button.classList.toggle('update-available', available); button.classList.toggle('is-checking', _updateCheckBusy); - button.disabled = _updateCheckBusy; + button.disabled = !available || _updateCheckBusy; + button.tabIndex = available ? 0 : -1; button.setAttribute('aria-busy', _updateCheckBusy ? 'true' : 'false'); button.setAttribute('aria-label', hint); button.title = hint; @@ -843,6 +849,7 @@ async function requestUpdateCheck({ forceRefresh = true } = {}) { } else if (result && result.error) { showCopyToast('Updateprüfung fehlgeschlagen'); } else { + _knownUpdateInfo = null; showCopyToast('Kein Update verfügbar'); } return result; diff --git a/renderer/index.html b/renderer/index.html index 0224fad..584830d 100644 --- a/renderer/index.html +++ b/renderer/index.html @@ -54,6 +54,12 @@