Native SwiftUI-Komponenten für alle nativen mana-e.V.-Apps. Heute ManaAuthUI — vollständige Auth-Reise.
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> |
||
|---|---|---|
| Sources/ManaAuthUI | ||
| Tests/ManaAuthUITests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Package.swift | ||
| README.md | ||
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
ManaCorefür API-Calls undManaTokensfü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.