feat: add user settings save and reading plans with progress tracking

User Settings:
- Add /api/user/settings endpoint for persisting theme and fontSize preferences
- Update settings page with working save functionality
- Add validation and localized error messages

Reading Plans:
- Add database schema with ReadingPlan, UserReadingPlan, and UserReadingProgress models
- Create CRUD API endpoints for reading plans and progress tracking
- Build UI for browsing available plans and managing user enrollments
- Implement progress tracking with daily reading schedule
- Add streak calculation and statistics display
- Create seed data with 5 predefined plans (Bible in 1 year, 90 days, NT 30 days, Psalms 30, Gospels 30)
- Add navigation link with internationalization support

Technical:
- Update to MUI v7 Grid API (using size prop instead of xs/sm/md and removing item prop)
- Fix Next.js 15 dynamic route params (await params pattern)
- Add translations for readingPlans in all languages (en, ro, es, it)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-12 23:07:47 +00:00
parent 9d82e719ed
commit 63082c825a
15 changed files with 2065 additions and 3 deletions

View File

@@ -32,6 +32,7 @@ import {
Logout,
Login,
Bookmark,
CalendarToday,
} from '@mui/icons-material'
import { useRouter } from 'next/navigation'
import { useTranslations, useLocale } from 'next-intl'
@@ -92,6 +93,7 @@ export function Navigation() {
const authenticatedPages = [
...pages,
{ name: t('bookmarks'), path: '/bookmarks', icon: <Bookmark /> },
{ name: t('readingPlans'), path: '/reading-plans', icon: <CalendarToday /> },
]
const settings = [