- Update client dashboard with modern cards, SVG statistics icons, and prize icons
- Add roulette animation with colored prize icons during ticket draw
- Redesign history page with 4 statistics cards and SVG icons
- Add "Rejetés" filter button in history page
- Update profile page with modern card styling
- Redesign header with clickable user name/email button
- Add Facebook login button with green border styling
- Update game page with roulette animation and prize display
- Add prize values to constants (15€, 25€, 39€, 69€)
- Replace all emoji icons with professional SVG icons
- Apply consistent color scheme: green (#1a4d2e, #2d5a3d) and orange (#f59e0b)
- Improve button styles and hover effects across all pages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix window.location usage in tirages page by adding SSR check
- Fix router.push call during SSR in profil page using useEffect
- Extract GoogleLoginButton to separate component to fix OAuth provider context
- Add null safety check for user object in profil page
- All pages now prerender successfully without errors
This fixes the 404 page not found error by ensuring proper SSR/CSR separation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add export const dynamic = 'force-dynamic' to login and profile pages
- Fixes 'Google OAuth components must be used within GoogleOAuthProvider' error
- Fixes 'location is not defined' error during static generation
- Both pages now render client-side only
Change role comparisons from lowercase to uppercase to match User type:
- "client" → "CLIENT"
- "employee" → "EMPLOYEE"
- "admin" → "ADMIN"
The User type only defines uppercase role values.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add null check for user.updatedAt before passing to formatDate function.
The User type defines updatedAt as optional (string | undefined), so we
need to handle the undefined case to prevent TypeScript compilation errors.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Change user.isEmailVerified to user.isVerified to match the User type
definition. The User type has isVerified property, not isEmailVerified.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>