zitare-native/Sources/Features/WebShell
Till 2616c4f440 fix(dark-mode): WebView folgt System statt eigener localStorage-Toggle
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 <html>
- 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) <noreply@anthropic.com>
2026-05-14 21:45:25 +02:00
..
CookieBridge.swift ζ-1: WebShellView + Universal-Link-Routing 2026-05-14 12:56:05 +02:00
WebShellCoordinator.swift ζ-1: WebShellView + Universal-Link-Routing 2026-05-14 12:56:05 +02:00
WebShellScripts.swift fix(dark-mode): WebView folgt System statt eigener localStorage-Toggle 2026-05-14 21:45:25 +02:00
WebShellView.swift fix(dark-mode): WebView folgt System statt eigener localStorage-Toggle 2026-05-14 21:45:25 +02:00