cards/apps/api/src
Till JS 9f019d8e2f
Some checks are pending
CI / validate (push) Waiting to run
feat(cards): leech detection in /me/stats + Stats-Page-Sektion
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>
2026-05-12 19:01:48 +02:00
..
db db(cards): baseline migration + drizzle-tracking bootstrap script 2026-05-12 18:53:52 +02:00
lib security(cards): fail-secure dev-stub, headers, rate-limit, dsgvo audit 2026-05-12 16:56:03 +02:00
middleware security(cards): fail-secure dev-stub, headers, rate-limit, dsgvo audit 2026-05-12 16:56:03 +02:00
routes feat(cards): leech detection in /me/stats + Stats-Page-Sektion 2026-05-12 19:01:48 +02:00
services feat(cards): Deck-Generierung aus Bildern und PDFs via Vision-LLM 2026-05-10 15:21:35 +02:00
share-handlers Phase 9d: Pre-Flight — Protocol-Mirror durch upstream ersetzt 2026-05-08 18:00:56 +02:00
index.ts security(cards): fail-secure dev-stub, headers, rate-limit, dsgvo audit 2026-05-12 16:56:03 +02:00