feat(web): add settings sub-pages and connect to backend APIs

- Add GeneralSettingsPage for language, privacy, and notification settings
- Add FeedbackPage for user feedback submission with image upload
- Connect settings to backend PATCH /users/me/settings API
- Implement language preference sync between frontend and backend
- Update login flow to pass language preference and redirect based on user settings
- Add Astro entry pages for /settings/general and /settings/feedback routes
- Update sidebar navigation: language button links to general settings
- Fix account data card to link to profile page
- Remove "deletion" text from account data description
This commit is contained in:
zl-q
2026-05-09 18:23:21 +08:00
parent 5aa46d3311
commit 1fbb07f692
21 changed files with 1621 additions and 118 deletions
+11
View File
@@ -7,14 +7,25 @@ export const API_ROUTES = {
},
users: {
profile: '/api/v1/users/me/profile',
updateProfile: '/api/v1/users/me/profile',
updateSettings: '/api/v1/users/me/settings',
avatarUploadUrl: '/api/v1/users/me/avatar/upload-url',
uploadAvatar: '/api/v1/users/me/avatar',
},
points: {
balance: '/api/v1/points/balance',
packages: '/api/v1/points/packages',
},
notifications: {
list: '/api/v1/notifications',
unreadCount: '/api/v1/notifications/unread-count',
markRead: (id: string) => `/api/v1/notifications/${id}/read`,
markAllRead: '/api/v1/notifications/mark-all-read',
},
agent: {
history: '/api/v1/agent/history',
},
feedback: {
submit: '/api/v1/feedback',
},
} as const;