feat(cards): leech detection in /me/stats + Stats-Page-Sektion
Some checks are pending
CI / validate (push) Waiting to run
Some checks are pending
CI / validate (push) Waiting to run
Karten mit ≥4 Lapses werden im Stats-Endpoint als `leech_cards` geliefert (mit Front-Snippet, Deck-Name, Lapses-Count, sortiert desc, max 20). Stats-Page zeigt eine rote „Schwierige Karten"- Sektion mit Link in den Card-Editor. * apps/api/src/routes/me.ts: GROUP BY card → SUM(lapses) ≥ 4 Filter, frontSnippetFor()-Helper für alle 6 Card-Types (basic, basic-reverse, cloze, image-occlusion, audio-front, typing, multiple-choice). Cloze-Markup wird gestrippt damit der Snippet UI-tauglich ist. * apps/web Stats-Page: neue CardSurface mit Warning-Icon, scrollbare Liste mit Front + Deck + Lapses-Badge, Empty-State. * i18n in DE/EN/FR/IT/ES (5 Strings + plural-Form). 104/104 Tests grün (kein neuer Test — bestehende /me/stats-Tests covern die Aggregations-Form), web check 0 errors. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4bb1390180
commit
9f019d8e2f
9 changed files with 198 additions and 5 deletions
|
|
@ -81,9 +81,11 @@ aber im Code längst gelandet:
|
|||
`computeParameters()` aus Review-History; Schema (`decks.fsrs_settings`)
|
||||
und Per-Deck-Override sind vorbereitet, aber kein Endpoint und kein UI.
|
||||
Größter messbarer Retention-Gewinn pro Aufwand.
|
||||
- **Leech-Detection** — `reviews.lapses` zählt bereits;
|
||||
Auto-Markierung + UI-Vorschlag „aufteilen / suspendieren" für
|
||||
Karten oberhalb eines Schwellwerts.
|
||||
- **Leech-Detection — gebaut 2026-05-12.** `me/stats` liefert
|
||||
`leech_cards` (Threshold 4 Lapses, Limit 20, sortiert nach
|
||||
Lapses desc, mit Front-Snippet + Deck-Name). Stats-Page hat eine
|
||||
rote Leech-Sektion mit Link in den Card-Editor. i18n in DE/EN/
|
||||
FR/IT/ES. Suspension/Aufteilen-Vorschläge sind nächste Welle.
|
||||
- **Undo letzte Bewertung** — wichtiger UX-Reflex; aktuell muss man
|
||||
das Review händisch zurückbauen.
|
||||
- **Card Burial / Suspension** — Karten temporär deaktivieren ohne
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue