Native SwiftUI-Komponenten für alle nativen mana-e.V.-Apps. Heute ManaAuthUI — vollständige Auth-Reise.
Find a file
Till JS c1555565b6 v0.3.0 — ManaTwoFactorChallengeView
Apps mit aktivem 2FA bekommen jetzt eine native Challenge-View nach
Email/Password-Login. ManaLoginView schaltet automatisch um wenn
AuthClient.status auf .twoFactorRequired wechselt.

Components:
- ManaTwoFactorChallengeView — Scaffold-View mit 6-stelligem Code-
  Input, Backup-Code-Toggle, Cancel zurück zum Login
- TwoFactorChallengeViewModel — @Observable State-Maschine, wraps
  AuthClient.verifyTotp/verifyBackupCode
- LoginViewModel.Status.twoFactorRequired(email:) als neuer Case;
  submit() routet automatisch dorthin wenn der AuthClient den
  Challenge-Status zurückgibt

6 neue Tests, 39/39 grün.

Setzt mana-swift-core ≥ 1.3.0 voraus.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:20:30 +02:00
Sources/ManaAuthUI v0.3.0 — ManaTwoFactorChallengeView 2026-05-14 00:20:30 +02:00
Tests/ManaAuthUITests v0.3.0 — ManaTwoFactorChallengeView 2026-05-14 00:20:30 +02:00
.gitignore v0.1.0 — initialer Sprint, vollständige Auth-Reise als SwiftUI 2026-05-13 19:22:42 +02:00
CHANGELOG.md v0.3.0 — ManaTwoFactorChallengeView 2026-05-14 00:20:30 +02:00
CLAUDE.md v0.1.0 — initialer Sprint, vollständige Auth-Reise als SwiftUI 2026-05-13 19:22:42 +02:00
Package.swift v0.1.0 — initialer Sprint, vollständige Auth-Reise als SwiftUI 2026-05-13 19:22:42 +02:00
README.md v0.1.0 — initialer Sprint, vollständige Auth-Reise als SwiftUI 2026-05-13 19:22:42 +02:00

mana-swift-ui

Native SwiftUI-Komponenten für alle nativen Apps des Vereins mana e.V. Heute genau ein Library-Product:

  • ManaAuthUI — vollständige Auth-Reise (Login, Sign-Up, Email-Verifikation, Passwort-Reset, Account-Management) als SwiftUI-Views. Konsumiert ManaCore für API-Calls und ManaTokens für Vereins-Designwerte.

Wird konsumiert von cards-native, manaspur-native, memoro-native und allen kommenden Verein-Apps.

Verhältnis zu mana-swift-core

mana-swift-core liefert die Wire-/Auth-/Token-Schicht: AuthClient, AuthenticatedTransport, KeychainStore, Farben, Spacings. Dieses Paket setzt darauf auf und liefert UI.

Getrennte Repos, damit mana-swift-core stabil bleibt während sich die UI-Komponenten organisch entwickeln.

Lokal entwickeln

swift build
swift test

../mana-swift-core/ muss als Schwester-Verzeichnis existieren.

Konventionen

Siehe CLAUDE.md.