Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare — Hybrid (WKWebView + Widget + ShareExt + native Submit) unter ev.mana.zitare.
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> |
||
|---|---|---|
| docs | ||
| scripts | ||
| ShareExtension | ||
| Sources | ||
| Tests | ||
| Widgets/ZitareWidget | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| CLAUDE.md | ||
| PLAN.md | ||
| project.yml | ||
| README.md | ||
zitare-native
Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare, den öffentlichen Zitat-Korpus des Vereins mana e.V.
Hybrid-Architektur. Lese-Surfaces laufen im
WKWebViewgegenzitare.com. Native-Code ist nur dort, wo Native einen Distributions-Hebel hat: Home-Screen-Widget, ShareExtension, Spotlight-Index und Submit-View. Anders als cards-native, memoro-native und manaspur-native (alle „pure SwiftUI") — die Begründung steht im Playbook.
Status
Phase ζ-0 — Setup. Repo-Skelett, project.yml, leerer Build.
Vollständiger 7-Phasen-Plan in
../mana/docs/playbooks/ZITARE_NATIVE_GREENFIELD.md.
Phasen-Tracking in PLAN.md.
Lokal entwickeln
brew install xcodegen swiftformat swiftlint
xcodegen generate
open ZitareNative.xcodeproj
Voraussetzung: ../mana-swift-core/ und ../mana-swift-ui/ als
Schwester-Verzeichnisse (Package-Dependencies via path:).
Bundle-IDs
| Target | Bundle |
|---|---|
| App | ev.mana.zitare |
| Widget Extension | ev.mana.zitare.widget |
| Share Extension | ev.mana.zitare.share |
| App Group | group.ev.mana.zitare |
Cross-Refs
- Playbook:
../mana/docs/playbooks/ZITARE_NATIVE_GREENFIELD.md - Web-App:
../zitare/CLAUDE.md - Plattform-SOT:
../mana/docs/MANA_SWIFT.md - Shared Code:
../mana-swift-core/,../mana-swift-ui/