- Use window.location.href for full page refresh
- Move redirect to finally block to ensure it always executes
- Fix V7 migration to be a no-op since column is already jsonb
Replace hardcoded Chinese strings with t() calls across 36 files.
Expand translation keys from ~160 to 412 covering all pages, features,
and shared components. Fix date formatting to use dynamic i18n locale.
- Add ApiError class with status code for structured error handling
- Add global QueryCache/MutationCache error handlers with auto-toast
- Auto-redirect to login on 401, show appropriate messages for 403/404/5xx
- Add i18n to review-detail.tsx, token-list.tsx, confirm-dialog.tsx
- Add review, token, apiError translation keys to zh.json and en.json
- Fixed language switcher to handle language codes with region (zh-CN -> zh)
- Added translations for publish page, toast, and dialog components
- Added i18n keys for all new UI text
- Created TODO.md to track pending frontend improvements
Pending tasks:
- Complete i18n for all remaining components
- Implement unified API error handling
- Replace remaining alert/confirm calls
- Added sonner toast library for notifications
- Created Toaster component with custom styling
- Created toast utility with success/error/warning/info methods
- Created ConfirmDialog component for confirmations
- Replaced browser alert() with toast notifications in:
- Publish page: added review notice and toast feedback
- Token list: replaced confirm() with ConfirmDialog
- Review detail: replaced alert/confirm with toast and dialogs
- Added review notice in publish page explaining admin approval process
- Improved user experience with in-page notifications instead of browser popups
Database changes:
- Added SKILL_ADMIN role to user usr_da52079c-3329-4a5c-a631-8eadfb865a79
- Added platformRoles to User interface in UserMenu
- Implemented role checks for menu items:
- Reviews: SKILL_ADMIN, NAMESPACE_ADMIN, SUPER_ADMIN
- Promotions: SKILL_ADMIN, SUPER_ADMIN
- User Management: USER_ADMIN, SUPER_ADMIN
- Audit Log: AUDITOR, SUPER_ADMIN
- Added translations for new menu items
- Menu items now only show for users with appropriate permissions
- Added i18next for internationalization support
- Created language switcher component with zh/en support
- Refactored user navigation into dropdown menu
- Moved Dashboard, Security, and Account settings into user menu
- Added translation files for Chinese and English
- Updated layout to use i18n for all text content