From 4b5a445ae0a9cffbf0ac289bc8d50ee1adb79f10 Mon Sep 17 00:00:00 2001 From: Sucukdeluxe <259325684+Sucukdeluxe@users.noreply.github.com> Date: Tue, 22 Sep 2026 06:22:30 +0200 Subject: [PATCH] Keep update button labels on one line --- PROJECT_MEMORY.md | 1 + renderer/styles.css | 13 +++++++++---- tests/startup-renderer.test.js | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/PROJECT_MEMORY.md b/PROJECT_MEMORY.md index 04348c4..604a0a6 100644 --- a/PROJECT_MEMORY.md +++ b/PROJECT_MEMORY.md @@ -97,6 +97,7 @@ npm audit --omit=dev ## Zuletzt verifiziert +- Update-Button nach `2.1.49`: feste Breite für Button und sichtbaren Platzhalter von 146 auf 166 px erhöht; Beschriftung ohne Umbruch und ohne Schrumpfen. Gezielter Header-Regressionstest und Lint erfolgreich. In der laufenden Entwicklung für Deutsch und Englisch jeweils eine Textzeile und ausreichender Innenabstand per DOM-Messung bestätigt. Lokaler Anzeigetest für `2.1.50` im ignorierten Entwicklungslauncher aktiv; Download und Installation dort gesperrt, kein tatsächliches Release. Entwicklerversion automatisch neu gestartet. - Nachbesserung gegen abgeschnittenes letztes Zeichen: gezielter Electron-Layouttest für beide Sprachen und sechs Breiten sowie Lint erfolgreich. Screenshot mit vollständigem Text geprüft; automatischer Entwicklungsneustart bestätigt. Kein Release. - Einstellungssuche: auf Nutzerwunsch Lupe rechts (12 px Innenabstand), Suchtext mit symmetrischem 32-px-Padding zentriert. Gezielter Electron-Layouttest prüft Zentrierung, Symbolposition und vollständige Platzhalter in beiden Sprachen bei sechs Breiten; Lint erfolgreich, Screenshot visuell geprüft. Automatischer Entwicklungsneustart bestätigt; noch nicht veröffentlicht. - Einstellungssuche: Layout-/Textbreitentest in Deutsch und Englisch bei sechs Viewports sowie Lint erfolgreich. Startup-Datei 25/26 erfolgreich, bestehender Checkbox-Fokustest einmal mit bekanntem Timingfehler; separat unverändert erneut erfolgreich. Automatischer Neustart bestätigt. Kein Release. diff --git a/renderer/styles.css b/renderer/styles.css index 75cebd3..3dbcd54 100644 --- a/renderer/styles.css +++ b/renderer/styles.css @@ -2601,8 +2601,8 @@ select.hs-input { max-width: none; width: auto; min-width: 140px; } } .header-update-slot.is-visible { - width: 146px; - flex-basis: 146px; + width: 166px; + flex-basis: 166px; margin-right: 0; overflow: visible; opacity: 1; @@ -2613,8 +2613,8 @@ select.hs-input { max-width: none; width: auto; min-width: 140px; } .header-update-button { position: relative; - width: 146px; - flex: 0 0 146px; + width: 166px; + flex: 0 0 166px; height: 32px; display: inline-flex; align-items: center; @@ -2635,6 +2635,11 @@ select.hs-input { max-width: none; width: auto; min-width: 140px; } transition: background-color .14s, transform .28s cubic-bezier(.22, 1, .36, 1), opacity .18s ease; } +.header-update-label { + white-space: nowrap; + flex-shrink: 0; +} + .header-update-slot.is-visible .header-update-button { opacity: 1; transform: translateX(0); diff --git a/tests/startup-renderer.test.js b/tests/startup-renderer.test.js index 727d538..937386d 100644 --- a/tests/startup-renderer.test.js +++ b/tests/startup-renderer.test.js @@ -5499,7 +5499,9 @@ test('header occupies its final geometry before asynchronous initialization', () assert.doesNotMatch(updateButton, /\stitle=/u); assert.ok(updateSlotIndex >= 0 && updateSlotIndex < speedWidgetIndex); assert.match(css, /\.header-update-slot\s*\{[^}]*width:\s*0;[^}]*flex:\s*0 0 0;[^}]*overflow:\s*hidden;/su); - assert.match(css, /\.header-update-slot\.is-visible\s*\{[^}]*width:\s*146px;[^}]*flex-basis:\s*146px;/su); + assert.match(css, /\.header-update-slot\.is-visible\s*\{[^}]*width:\s*166px;[^}]*flex-basis:\s*166px;/su); + assert.match(css, /\.header-update-button\s*\{[^}]*width:\s*166px;[^}]*flex:\s*0 0 166px;/su); + assert.match(css, /\.header-update-label\s*\{[^}]*white-space:\s*nowrap;[^}]*flex-shrink:\s*0;/su); assert.match(css, /\.header-update-slot\.is-visible\s+\.header-update-button\s*\{[^}]*opacity:\s*1;[^}]*transform:\s*translateX\(0\);/su); assert.match(css, /\.version-badge\s*\{[^}]*min-width:\s*48px;/su); assert.notEqual(firstFrameInitialization, -1);