η-0: De-Hybrid — WKWebView raus, native Tabs mit Platzhaltern
Lift von Hybrid (WKWebView für Lesen/Erkunden) auf fully-native ist beschlossen. Diese Phase entfernt die WebShell-Infrastruktur; das volle native Read-Surface folgt in η-2..η-5 nach docs/NATIVE_LIFT_PLAN.md. - ManaWebShell-Dep raus aus project.yml - Sources/Core/WebShell/CookieBridge.swift gelöscht - RootView auf vier native Tabs (Lesen + Erkunden = Platzhalter, Submit + Konto unverändert nativ) - DocComments in DeepLinkRouter / AppConfig / Account / Settings von WebView-Verweisen befreit - CLAUDE.md Invarianten von Hybrid auf η umgestellt (13 Invarianten, pure SwiftUI + Offline-first + SafariView-Ausnahme für Legal) - PLAN.md auf η-0 + Phasenübersicht η-0..η-10 - AppConfigTests.test_keychainService_matchesSharedGroup auf ManaSharedKeychainGroup aktualisiert (war drift seit Cross-App-SSO) Verifikation: - xcodebuild iOS-Simulator iPhone 16e: BUILD SUCCEEDED - nm ZitareNative | grep WKWebView: 0 Referenzen - otool -L: kein WebKit-Framework-Link - 20/20 Tests grün Cross-Repo-Follow-up (η-1 Blocker): - zitare/apps/zitare/ muss index-full.json + 7 Stammdaten-JSONs liefern - zitare/apps/api/ Volltext-Search-Endpoint bestätigen/ergänzen Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
58eb2807c7
commit
1d770123f5
11 changed files with 619 additions and 365 deletions
|
|
@ -3,9 +3,10 @@ import ManaCore
|
|||
import SwiftUI
|
||||
|
||||
/// Phase ζ-0 minimal: zeigt Auth-Status und Healthz-Probe-Ergebnis.
|
||||
/// Phase ζ-3 erweitert um Submission-History-Link (via WebShell auf
|
||||
/// `zitare.mana.how/me`). Login-Sheet schon hier, damit Guests einen
|
||||
/// Anmelden-Button finden.
|
||||
/// Phase η-6 erweitert um native Submission-History (eigene
|
||||
/// Submissions-Liste via `GET /api/v1/me/submissions`) + Link auf
|
||||
/// Web-Konto-Verwaltung via SafariView. Login-Sheet schon hier, damit
|
||||
/// Guests einen Anmelden-Button finden.
|
||||
struct AccountView: View {
|
||||
@Environment(AuthClient.self) private var auth
|
||||
@Environment(ManaAuthGate.self) private var authGate
|
||||
|
|
@ -185,13 +186,12 @@ struct AccountView: View {
|
|||
|
||||
private var aboutCard: some View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
Text("Phase ζ-0 — Setup")
|
||||
Text("Phase η-0 — De-Hybrid")
|
||||
.font(.caption)
|
||||
.foregroundStyle(ZitareTheme.mutedForeground)
|
||||
Text(
|
||||
"Diese App ist noch im Aufbau. Web-App live auf "
|
||||
+ "zitare.com und zitare.mana.how. "
|
||||
+ "Plan in mana/docs/playbooks/ZITARE_NATIVE_GREENFIELD.md."
|
||||
"Diese App wird nativ ausgebaut. Web-App weiter live auf "
|
||||
+ "zitare.com. Plan in zitare-native/docs/NATIVE_LIFT_PLAN.md."
|
||||
)
|
||||
.font(.footnote)
|
||||
.foregroundStyle(ZitareTheme.foreground)
|
||||
|
|
|
|||
|
|
@ -1,19 +1,18 @@
|
|||
import SwiftUI
|
||||
|
||||
/// Phase ζ-5 Placeholder.
|
||||
/// Phase η-9 Placeholder.
|
||||
///
|
||||
/// Aufgabenliste in ζ-5:
|
||||
/// Aufgabenliste in η-9:
|
||||
///
|
||||
/// - Theme-Toggle (System / Light / Dark) — propagiert per
|
||||
/// `localStorage['zitare-mode']` an den WebView.
|
||||
/// - Reader-Schriftgröße (S/M/L/XL) — per JS-Bridge an die Web-CSS-
|
||||
/// Variable `--zit-reader-size`.
|
||||
/// - DSGVO-Daten-Export (öffnet `zitare.mana.how/me` Export-Page im
|
||||
/// WebView).
|
||||
/// - About / Impressum / Lizenz (CC-BY-SA-4.0).
|
||||
/// - Theme-Toggle (System / Light / Dark) — direkt nativ via
|
||||
/// `@AppStorage("zitare-mode")` → `ZitareTheme.applyMode`.
|
||||
/// - Reader-Schriftgröße (S/M/L/XL) — `@AppStorage("zitare-reader-size")`,
|
||||
/// propagiert an `QuoteDetailView` (η-2).
|
||||
/// - DSGVO-Daten-Export — SafariView auf `https://app.zitare.com/me/export`.
|
||||
/// - About / Impressum / Lizenz (CC-BY-SA-4.0) — SafariView-Sheets (η-7).
|
||||
struct SettingsView: View {
|
||||
var body: some View {
|
||||
Text("Einstellungen — ζ-5 TODO")
|
||||
Text("Einstellungen — η-9 TODO")
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue