cards/apps/web/src
Till JS 2b36990e43 feat(cards): multiple-choice Card-Type mit dynamischen Distractors
- CardTypeSchema: 'multiple-choice' (Felder: front + answer, distractor_pool optional)
- subIndexCount: 'multiple-choice' → 1
- GET /api/v1/decks/:deckId/distractors: N zufällige Feldwerte anderer Karten
  im Deck; field-Allowlist (front/back/answer/question); RANDOM() ORDER; Fallback
  auf distractor_pool wenn Deck < 4 Karten
- fetchDistractors(): Frontend-Client-Funktion
- MultipleChoiceView.svelte: lädt Distractors on mount, shuffelt 4 Optionen,
  zeigt Sofort-Feedback (correct/wrong/neutral), Keyboard 1–4 + Space;
  auto-grade correct→good, wrong→again
- Study-Page: isMultipleChoice + multipleChoiceData derived, Action-Bar
  ausgeblendet, onKey delegiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 15:28:37 +02:00
..
lib feat(cards): multiple-choice Card-Type mit dynamischen Distractors 2026-05-10 15:28:37 +02:00
routes feat(cards): multiple-choice Card-Type mit dynamischen Distractors 2026-05-10 15:28:37 +02:00
app.css feat(deps): migrate Header from @mana/shared-ui@0.1.x to shared-ui-2 2026-05-09 18:27:24 +02:00
app.d.ts Phase 0+1: Repo-Skelett für Cards-Greenfield 2026-05-08 14:08:41 +02:00
app.html feat(theming): forest variant from @mana/themes (sprint 9m) 2026-05-09 18:01:37 +02:00