Fix authentication state persistence and admin role display

- Implement complete authentication system with JWT token validation
- Add auth provider with persistent login state across page refreshes
- Create multilingual login/register forms with Material-UI components
- Fix token validation using raw SQL queries to bypass Prisma sync issues
- Add comprehensive error handling for expired/invalid tokens
- Create profile and settings pages with full i18n support
- Add proper user role management (admin/user) with database sync
- Implement secure middleware with CSRF protection and auth checks
- Add debug endpoints for troubleshooting authentication issues
- Fix Zustand store persistence for authentication state

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
andupetcu
2025-09-21 01:06:30 +03:00
parent 62ca73b2ac
commit 196ca00194
174 changed files with 181207 additions and 179 deletions

View File

@@ -195,6 +195,80 @@
}
}
},
"auth": {
"email": "Email",
"password": "Password",
"confirmPassword": "Confirm password",
"name": "Name",
"optional": "(optional)",
"login": "Login",
"register": "Register",
"logout": "Logout",
"logging_in": "Logging in...",
"registering": "Registering...",
"loginError": "Login error",
"registerError": "Registration error",
"connectionError": "Connection error",
"passwordMismatch": "Passwords don't match",
"createAccount": "Create account",
"alreadyHaveAccount": "Already have an account?",
"noAccount": "Don't have an account?",
"forgotPassword": "Forgot password?",
"welcomeBack": "Welcome back!",
"joinUs": "Join us!"
},
"profile": {
"title": "Profile",
"subtitle": "Manage your account information",
"personalInfo": "Personal Information",
"accountDetails": "Account Details",
"name": "Name",
"email": "Email",
"role": "Role",
"memberSince": "Member Since",
"edit": "Edit",
"save": "Save Changes",
"saving": "Saving...",
"cancel": "Cancel",
"emailCannotChange": "Email cannot be changed",
"profileUpdated": "Profile updated successfully!",
"updateError": "Error updating profile",
"user": "User",
"admin": "Administrator",
"moderator": "Moderator"
},
"settings": {
"title": "Settings",
"subtitle": "Customize your experience",
"appearance": "Appearance",
"languageAndNotifications": "Language & Notifications",
"security": "Security",
"theme": "Theme",
"fontSize": "Font Size",
"language": "Language",
"notifications": "Enable notifications",
"emailUpdates": "Email updates",
"changePassword": "Change Password",
"changePasswordSoon": "Change Password (Coming Soon)",
"passwordSecurity": "Password and security settings",
"saveSettings": "Save Settings",
"settingsSaved": "Settings saved successfully!",
"settingsError": "Error saving settings",
"themes": {
"light": "Light",
"dark": "Dark",
"auto": "Auto"
},
"fontSizes": {
"small": "Small",
"medium": "Medium",
"large": "Large"
},
"languages": {
"ro": "Română",
"en": "English"
}
},
"common": {
"loading": "Loading...",
"error": "An error occurred",