Commit Graph

7 Commits

Author SHA1 Message Date
34431331e9 fix(practice): update session counters client-side after each answer
The in-session progress bar reads session.cardsShown/cardsCorrect/cardsIncorrect,
but the session store's answer() never refreshed the session object — the backend
tracked the counters but the client kept the stale start values (all 0), so the bar
appeared frozen. answer() now mirrors the backend's increment locally; end() still
replaces with authoritative server totals. Adds an E2E regression test.
2026-05-21 07:54:15 +02:00
8499c60acb test(e2e): search palette + lesson detail + stats + legacy redirect
Add e2e/ux.spec.ts covering the ⌘K search palette, lesson detail page,
stats sections, and the legacy /admin → /lessons redirect.

Also fixes two issues uncovered by running the full suite:
- Skip auth rate limiter in e2e by running the backend with NODE_ENV=test
  (registration limit of 5 was tripping later tests).
- Render the card table for lesson owners even when the lesson has zero
  cards, so the first card can be added from the detail page.
2026-05-21 07:24:42 +02:00
c04b857c10 test(e2e): multi-user sharing + subscribe + practice flow 2026-05-21 00:42:52 +02:00
e27c1ca06c chore(auth): non-blocking follow-ups from final review
- /api/stats: add verifyCsrf middleware (defense-in-depth; no-op for GETs)
- VerifyEmailPage: useRef guard to prevent React StrictMode double-fire of
  the single-use verify token in dev
- router.tsx: route-level code splitting via React.lazy + Suspense; initial
  bundle drops from 397 KB to 224 KB with per-route chunks (0.3–14 KB each)
- e2e: wait for verify-email completion before login; bump Account-menu
  timeout to handle Vite cold-chunk compile
2026-05-20 23:27:52 +02:00
5739b6d941 test(e2e): register+verify smoke and admin invite flow via Mailpit 2026-05-20 23:19:56 +02:00
b984e83e2b feat(frontend): apply UI/UX design system - purple/green palette, gradient buttons, 3D flip, polished pages
Applied ui-ux-pro-max design system recommendations:
- Tailwind theme: study purple primary + correct green accent
- Inter + Plus Jakarta Sans typography
- Glassmorphic surfaces with soft shadows and mesh background
- Real 3D card flip with spring physics + answer feedback flash
- Gradient stat cards, progress bar, animated done screen with score ring
- Polished Layout, Dashboard, Admin, AdminLesson, CardTable, ImportDialog, PracticeSetup, Practice, PracticeDone
- E2E smoke updated for new accessible names
2026-05-20 21:48:47 +02:00
f88b4d57de test(e2e): playwright smoke for create→practice flow 2026-05-20 21:29:51 +02:00