zitare-native/Sources/Features/Submit/SubmitQuoteView.swift
Till 0bd59ed148 ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live
- project.yml mit Bundle ev.mana.zitare + Widget + ShareExt-Targets
- ManaSwiftCore (ManaCore + ManaTokens) + ManaSwiftUI (ManaAuthUI)
  als Package-Dependencies via path:
- Pure SwiftUI für Native-Surfaces, WKWebView nur für Lese-Tabs
  (Hybrid-Sonderfall vs cards/memoro/manaspur, dokumentiert im
  Playbook ZITARE_NATIVE_GREENFIELD.md)
- Theme: paper-Variant aus @mana/themes
- ZitareAPI.healthCheck via direct URLSession (öffentlicher
  Endpoint, kein AuthenticatedTransport-Gate)
- 6/6 AppConfigTests + 1/1 UI-Smoke grün auf iPhone 16e Simulator
- Live: zitare-api.mana.how/healthz → HTTP/2 200

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 12:15:22 +02:00

32 lines
1.3 KiB
Swift

import SwiftUI
/// Phase ζ-3 Placeholder native Submit-View für Quote-Drafts.
///
/// Aufgabenliste in ζ-3:
///
/// - SwiftUI-Form mit Feldern: text (TextEditor), attribution (Author-
/// Name mit Auto-Complete aus lokalem Snapshot), language (Picker),
/// optional source (Werk, Jahr, URL), optional theme-Chips.
/// - `ManaAuthGate`-Wrap: nicht-eingeloggter Tap auf Einreichen"
/// öffnet `ManaAuthUI`-Login-Sheet.
/// - `POST /api/v1/quotes` mit `status: 'draft'` (Endpoint existiert
/// schon, Phase 2.A im Web-Repo).
/// - Offline-Queue: bei Network-Failure Draft in SwiftData
/// `PendingSubmission` persistieren, beim Reconnect retry.
/// - Erfolg: Toast + Link Im Web ansehen" (öffnet WebView auf
/// `zitare.mana.how/me` bzw. `/admin/queue` wenn Moderator).
struct SubmitQuoteView: View {
var body: some View {
VStack(spacing: 12) {
Image(systemName: "square.and.pencil")
.font(.system(size: 36))
.foregroundStyle(ZitareTheme.primary)
Text("Quote vorschlagen")
.font(.headline)
Text("ζ-3 — TODO: SwiftUI-Form + ManaAuthGate")
.font(.caption)
.foregroundStyle(.secondary)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}