pdf-quiz-generator/frontend/src/pages
Daniel 8137d5b20c Decouple course quizzes, replace passlib, add security hardening
- Fully decouple course quizzes from main quiz system (hidden from
  dashboard stats, history, search, results page)
- Course quiz results show "Back to Course" instead of retake/delete
- Add allow_review toggle for course creators to control answer review
- Show quiz title on course page, hide pool size from students
- Add course thumbnails to browse cards
- Replace passlib with bcrypt directly (compatible with existing hashes)
- Add HIBP breached password warnings on register/reset/change password
- Add CLI management tools (reset-password, set-role, stats, etc.)
- Fix quiz PATCH endpoint: ownership check instead of moderator-only
- Add max_length validation on course/module/lesson titles
- Fix score display bug on results page (0 of N when review disabled)
- Fix question count on course quiz start (show per-attempt, not pool)
- Improve suspend warning for timed course quizzes with max attempts
- Clean up validation error messages (show "Invalid email" not Pydantic dump)
- Add DDL migration for allow_review column

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 21:31:05 +02:00
..
AccountPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
AdminPage.jsx Add AI-powered flashcard generation system 2026-04-04 22:59:21 +02:00
CourseDetailPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
CourseEditorPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
CoursesPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
DashboardPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
DocumentDetailPage.jsx Add CLAUDE.md codebase synopsis, fix flashcard progress label 2026-04-04 23:11:26 +02:00
FlashcardsPage.jsx Fix shared decks route ordering, fix corrupted middot character 2026-04-04 23:45:13 +02:00
FlashcardStudyPage.jsx Add AI-powered flashcard generation system 2026-04-04 22:59:21 +02:00
ForgotPasswordPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
JobsPage.jsx TeachChat: model selector, proxy routing fix, titan seed cleanup 2026-04-04 00:37:35 +02:00
LandingPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
LoginPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
NotFoundPage.jsx Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
QuestionBankPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
QuizEditPage.jsx Add switchable embedding model, Polly toggle, job cancellation, and UI fixes 2026-04-03 20:44:11 +02:00
QuizPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
QuizzesPage.jsx Tag filtering, multi-category, bug fixes, image validation, docs 2026-04-04 22:48:26 +02:00
RegisterPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
ResetPasswordPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
ResultsPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
SettingsPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
TrashPage.jsx Fix quiz delete (500 error), add trash bin, quiz resume, hide/publish, remove JS dialogs 2026-04-01 04:51:41 +02:00
UploadPage.jsx Decouple course quizzes, replace passlib, add security hardening 2026-04-06 21:31:05 +02:00
VerifyEmailPage.jsx Major platform update: pgvector search, multi-provider TTS, settings page, CLI 2026-03-31 18:03:10 +02:00