Commit Graph

22 Commits

Author SHA1 Message Date
81a3e0bfae feat: update color palette to WCAG AA compliant green theme
- Update primary colors to forest green (#0B6029)
- Update all page titles to use primary-300/500 colors
- Update components (Header, Footer, Button, etc.)
- Fix email to thetiptopgr3@gmail.com
- Adjust hero section spacing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 11:18:19 +01:00
2e0beec338 feat: update homepage and login page UI
- Homepage: new title styling, centered hero section, animated button
- Homepage: removed countdown timer, added white background to sections
- Login page: moved social buttons below forgot password link

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 00:38:06 +01:00
04e2084cf9 refactor: extract TeaIconsBackground and use PrizeCard to reduce duplication
- Create TeaIconsBackground component for animated tea icons background
- Refactor page.tsx to use TeaIconsBackground and PrizeCard components
- Refactor login/page.tsx to use TeaIconsBackground
- Refactor register/page.tsx to use TeaIconsBackground
- Delete obsolete page.tsx.backup file
- Significant reduction in code duplication across auth pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 17:17:44 +01:00
534b6fc50c fix: add descriptive alt text to tea icon images for accessibility
Updated all decorative tea icons with proper alt attributes:
- teapot-green.png: "Théière verte"
- tea-cup.png: "Tasse de thé"
- gift-box.png: "Boîte cadeau"
- tea-leaves.png: "Feuilles de thé"
- teapot-pink.png: "Théière rose"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:19:57 +01:00
7febb137e9 feat: add SonarQube integration, cookie consent, and authentication improvements
- Add SonarQube configuration for code quality analysis
  - sonar-project.properties with TypeScript/Next.js settings
  - .sonarignore to exclude build artifacts and dependencies
  - npm run sonar script
  - Jenkins pipeline stages for SonarQube analysis and quality gate

- Implement cookie consent banner
  - New CookieConsent component with matching site colors
  - localStorage persistence for user choice
  - Accept/Reject buttons with proper styling
  - Link to cookies policy page

- Add strict authentication protection for game page
  - Redirect unauthenticated users to login from /jeux
  - Clean up redundant auth checks and UI elements
  - Preserve redirect parameter for post-login navigation

- Implement smart navigation with auth-aware redirects
  - "Jouer maintenant" button redirects based on auth status
  - "Participer au jeu" footer link with conditional routing
  - Authenticated users go to /jeux, others to /register

- UI improvements and cleanup
  - Remove "Voir les lots" button from homepage
  - Remove "Gestion des cookies" from footer
  - Remove "À propos" from footer navigation
  - Consistent design across components

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 01:23:50 +01:00
c8fdd59553 feat: enhance login/register pages with animated backgrounds and unified design
- Add animated tea icon backgrounds to login and register pages (35 icons)
- Update color scheme from green to golden/beige theme matching header
- Change header navigation text from "Loto à gagner" to "Lots à gagner"
- Update form placeholders to lowercase French (prénom, nom, email, etc.)
- Standardize Facebook login button style to match Google button
- Update all focus rings and button colors to #d4a574 (golden) theme

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 21:35:57 +01:00
a3e0227e41 fix: improve Facebook login error handling and add setup documentation
Enhanced error handling for Facebook Login to provide clearer messages when
the service is unavailable. Added comprehensive setup documentation for
configuring Facebook OAuth properly.

Changes:
- Improved error messages in Facebook SDK for unavailable service
- Updated login page to display specific error messages to users
- Added FACEBOOK_LOGIN_SETUP.md with step-by-step configuration guide
- Documented alternatives (email/Google login) while Facebook is being configured

This addresses the "Fonctionnalité indisponible" error users are seeing
when attempting to use Facebook Login.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 15:44:21 +01:00
70f61fca88 feat: modern UI redesign with SVG icons and improved styling
- 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>
2025-11-19 02:29:41 +01:00
4e2ab858b6 Revert "feat: apply homepage green gradient style to login/register pages"
This reverts commit 512c4e1365.
2025-11-18 23:29:54 +01:00
512c4e1365 feat: apply homepage green gradient style to login/register pages
Match homepage design with professional green gradient background:
- Dark green gradient (from-[#1a4d2e] via-[#2d5a3d] to-[#1a4d2e])
- Clean white card with strong shadow (shadow-2xl)
- Brand green color for titles (#1a4d2e)
- Full screen height for better visual impact
- Consistent with homepage branding

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 23:24:03 +01:00
59379ea300 Revert "feat: apply homepage design style to login and register pages"
This reverts commit c14f40607a.
2025-11-18 23:09:02 +01:00
c14f40607a feat: apply homepage design style to login and register pages
Updated login and register pages with homepage branding:
- Dark green gradient background (from-[#1a3d2e] to-[#2d5a45])
- Semi-transparent white card (bg-white/95 backdrop-blur-sm)
- Enhanced shadow for depth (shadow-2xl)
- Brand color for titles (#1a3d2e)
- Consistent with homepage visual identity

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 23:02:41 +01:00
85b952ed24 feat: add Thé Tip Top logo to login and register pages
Added logo display at the top of both login and register forms
- Added Next.js Image component for optimized logo rendering
- Logo size: 120x120px, centered above page title
- Fixed Card padding consistency on register page (added p-8)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 22:38:37 +01:00
935258a54a fix: resolve SSR prerender errors for login and profil pages
- 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>
2025-11-18 19:45:35 +01:00
38f7e126d9 fix: remove invalid dynamicParams and revalidate exports 2025-11-18 19:25:57 +01:00
7995b65ebe fix: revert to standard Docker build (standalone incompatible with SSR errors) 2025-11-18 17:13:21 +01:00
867c574451 fix: disable SSR for login and profile pages to fix build errors
- 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
2025-11-18 16:17:29 +01:00
615bba1be9 fix: resolve ESLint errors and React Hooks violations
- Disable react/no-unescaped-entities rule (cosmetic)
- Fix React Hook rules-of-hooks violation in login page
- Move useGoogleLogin call outside conditional logic
- All ESLint errors resolved, only warnings remain

ESLint now passes successfully with exit code 0.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 15:56:10 +01:00
f82985f84e fix: make Google and Facebook OAuth optional to prevent errors
- Make GoogleOAuthProvider conditional in layout.tsx (only render if clientId exists)
- Add hasGoogleAuth and hasFacebookAuth flags in login page
- Conditionally render OAuth buttons and section only when configured
- Add fallback message when OAuth is not configured
- Prevents "Missing required parameter client_id" error when NEXT_PUBLIC_GOOGLE_CLIENT_ID is not set

This allows the app to run without OAuth credentials configured, making deployment easier when OAuth is not yet set up.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 02:52:33 +01:00
7347d77ec6 fix: add padding to login card and create forgot-password page
- Add padding (p-8) and responsive px-4 to login page Card for better layout
- Create forgot-password page to fix 404 error when clicking "Mot de passe oublié?"
- Implement basic password reset form with email validation
- Add success state showing confirmation message after email submission

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 02:39:44 +01:00
6f236ed1ce fix: correct Google login handler function name
Rename handleGoogleLoginSuccess to handleGoogleLogin and update the onClick handler to use the correct function name. This fixes the client-side exception on the login page.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 02:30:01 +01:00
2f7abde4ea dev 2025-11-17 23:38:02 +01:00