Learning Paths (Parcours):
- New LearningPath, LearningPathCourse, LearningPathEnrollment Prisma models
- Admin CRUD: /admin/paths (list, create, edit, publish/draft, delete)
- Admin PathCourseManager: add/remove courses from a path with ordering
- Student pages: /paths (browse all paths), /paths/[slug] (detail + enroll)
- Enrolling in a path auto-enrolls the student in each individual course
- Enrollment API: POST /api/paths/enroll
Admin Module/Lesson/Quiz editor (ModuleManager rewrite):
- Replaced browser prompt()/confirm() with proper inline modals
- Modal dialogs for add module, add lesson, delete confirmation
- Module renaming (PUT /api/admin/modules/[id])
- Full multilingual editing for lessons (FR/EN/ES) with per-tab content
- Full multilingual quiz editing (FR/EN/ES) for questions and options
- Lesson type selection (TEXT / VIDEO) with clear button UI
Admin dashboard:
- 4-stat grid including Parcours count
- Quick actions for paths (new path, manage paths)
Students:
- Student list rows now link to /admin/students/[id] detail page
- Student detail: enrollment table with progress bars, learning paths, quiz attempts
Navigation:
- "Parcours" link added to main nav for all visitors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add email+password registration at /auth/register (free, self-service)
- Add CredentialsProvider to NextAuth for password-based login
- Login page now has two tabs: magic link and password
- Add /profile settings page: update name, password, and email
- Auto-promote rbogdanovic@owlcub.com to ADMIN role on sign-in
- Add bcryptjs for secure password hashing
- Prisma: add optional password field to User model
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>