Native SwiftUI-Universal-App für Cardecky (mana e.V.). Web-Parität zu cardecky.mana.how. SOT: mana/docs/playbooks/CARDS_NATIVE_GREENFIELD.md
CardRenderer für multipleChoice ist nicht mehr Placeholder. Web-
Vorbild: MultipleChoiceView.svelte.
MultipleChoiceCardView (Features/Study/):
- Lädt Distractors vom Server beim card.id-Wechsel
(CardsAPI.distractors(deckId, cardId, field, count))
- Versucht erst field=answer, fallback field=back (für Decks mit
basic/basic-reverse-Karten daneben)
- Fallback auf distractor_pool-Feld (newline-separated) wenn
Deck zu klein
- 4 Optionen shuffled = [answer + 3 Distractors]
- User-Tap markiert Auswahl (kein erneutes Pick möglich)
- Vor Flip: nur Selected-Hint (primary border)
- Nach Flip: richtige = green-check, falsche-gewählte = red-cross,
unselected richtige bleibt green-highlight
- Fallback "tooFew" (< 1 Distractor): zeigt Antwort nach Flip
ohne Auswahl
CardsAPI.distractors → DistractorsResponse {distractors: [String]}.
Typing bleibt Placeholder — eigene UI-Pattern (Text-Input + Diff)
brauchen mehr Design-Arbeit, separate Phase.
Build 7 → 8, 35 Tests grün.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| docs | ||
| scripts | ||
| ShareExtension | ||
| Sources | ||
| Tests | ||
| Widgets/CardsWidget | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| CLAUDE.md | ||
| PLAN.md | ||
| project.yml | ||
| README.md | ||
cards-native
Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Cardecky — die Spaced-Repetition-Karten-App des Vereins mana e.V.
Web-App-Parität. Die existierende Web-App auf
cardecky.mana.howist Funktions- und Verhaltens-Referenz. Native bringt kein neues Produkt, sondern die App in einer Form, die iOS-Hardware besser nutzt.
Status
Phase β-0 — Setup. Leerer Build, Login funktioniert, Cardecky-API-
Reachability-Check. Vollständiger Phasen-Plan in
../mana/docs/playbooks/CARDS_NATIVE_GREENFIELD.md.
HTTPS/JWT ┌──────────────────┐
cards-api ◄───────────── │ cards-native │ SwiftUI
cardecky-api.mana.how │ ev.mana.cardecky │ WidgetKit (β-6)
└──────────────────┘
│
┌─────────────────────────────────────────┐
▼ ▼
ManaCore (Auth, Transport) ManaTokens (Designwerte)
git.mana.how/till/mana-swift-core v1.0.0+
Lokal entwickeln
xcodegen generate
open CardsNative.xcodeproj # iPhone-17-Simulator
Konventionen, Invarianten, Phasen-Disziplin: CLAUDE.md.