From 2616c4f440aa62cf26b199c7e4ea6c656029263a Mon Sep 17 00:00:00 2001 From: Till Date: Thu, 14 May 2026 21:45:25 +0200 Subject: [PATCH] fix(dark-mode): WebView folgt System statt eigener localStorage-Toggle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Symptom: in TestFlight-Build wirkte Account-Tab dunkel, aber Lesen + Erkunden hell (oder umgekehrt, je nachdem was im Web- localStorage stand). Inkonsistent, weil: - AccountView (SwiftUI) nutzt ZitareTheme.dynamic() — folgt System - WebView las localStorage['zitare-mode'], das nur über den Theme-Toggle-Button im Web-Header gesetzt wurde — den wir aber nativ ausgeblendet haben → kein User-Steuerpfad Fix: neuer User-Script `syncDarkMode` injiziert at document.start: - liest prefers-color-scheme via matchMedia - schreibt localStorage['zitare-mode'] = 'dark' / removes - togglet die `.dark`-Class auf - bleibt aktiv via matchMedia-change-Listener für Live-Switches Reihenfolge in WebView-Config: syncDarkMode VOR hideWebHeader, damit das Theme richtig ist bevor Header-CSS rendert. Build 3 für nächsten TestFlight-Upload. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Features/WebShell/WebShellScripts.swift | 38 +++++++++++++++++++ Sources/Features/WebShell/WebShellView.swift | 4 ++ project.yml | 2 +- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/Sources/Features/WebShell/WebShellScripts.swift b/Sources/Features/WebShell/WebShellScripts.swift index d974221..278f49a 100644 --- a/Sources/Features/WebShell/WebShellScripts.swift +++ b/Sources/Features/WebShell/WebShellScripts.swift @@ -14,6 +14,44 @@ enum WebShellScripts { /// /// CSS wird at document.start als `