Commit graph

34 commits

Author SHA1 Message Date
XiaoSeS
f2cf22b3e1 feat: add user profile update feature with moderation support
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main

* feat: add profile review admin workflow

* feat(web): add pagination to skill review list

- useReviewList now passes page/size to backend and returns paginated response
- reviews.tsx maintains per-tab page state with prev/next controls
- namespace-reviews.tsx adapted to new response shape
- Added i18n keys for pagination (en/zh)
2026-03-19 17:23:05 +08:00
yun-zhi-ztl
4365a9363c fix(web): remove default focus outline on user menu trigger button 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
ac94930c94 fix: hide governance entry for unauthorized users 2026-03-19 14:54:04 +08:00
vsxd
729b1c0498 docs: enrich frontend code documentation 2026-03-19 13:37:21 +08:00
XiaoSeS
626e00219e feat: add user profile update feature with moderation support (#90)
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main
2026-03-19 10:16:40 +08:00
dongmucat
42e6fff693 feat: Implement core web application structure including landing page, skill registry, layout, routing, and internationalization. (#87) 2026-03-18 17:20:49 +08:00
dongmucat
ed6c2998a0 feat: Implement SkillHub UI redesign with new page templates, components, and related documentation. 2026-03-17 18:46:41 +08:00
dongmucat
67e3c8ff19 feat: Implement initial web application structure, core pages, and UI components with i18n support. 2026-03-17 17:03:55 +08:00
yun-zhi-ztl
99ff863681 fix: handle role downgrade on protected pages 2026-03-17 11:28:00 +08:00
yun-zhi-ztl
4e71c93e86 fix: hide account merge entry 2026-03-17 11:19:49 +08:00
xiose
c23960ea0b fix(web): prevent text overflow in token dialogs
Add responsive text wrapping and overflow handling to token-related
components to prevent layout breaking with long token names or descriptions.

Changes:
- Add min-w-0 to dialog headers to allow flex shrinking
- Add break-all/break-words to prevent text overflow
- Add overflow-hidden to token display container
- Apply max-w-48 constraint to token name column
2026-03-16 20:39:33 +08:00
yun-zhi-ztl
b30311a537 feat: build governance center workflow 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
411e592362 feat(report): add skill report UI and admin page 2026-03-15 16:47:53 +08:00
yun-zhi-ztl
6786b8a95c fix(toast): center feedback and remove native token tooltip 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
4c91b73592 fix(dialog): center popup content across app 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
d6608e4b29 fix(token): center token actions and toast layout 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
fb32512ed9 fix(token): center token feedback toasts 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
13840754ad feat(dashboard): add back navigation for subpages 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
b1bbbeb7c9 fix(token): center copy toasts with dedicated toaster 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
0b576e3f59 fix(search): wrap long empty-state descriptions 2026-03-14 19:16:25 +08:00
yun-zhi-ztl
3f1985da46 fix(web): adapt header controls to landing theme 2026-03-14 18:19:41 +08:00
yun-zhi-ztl
c08fd7306b fix(web): align language switcher text color 2026-03-14 18:18:08 +08:00
wowo_zZ
41b0f8ce1b feat(web): add legal pages and footer links 2026-03-14 17:14:16 +08:00
wowo-zZ
e97752735c fix(auth): improve logout flow to always redirect to home
- 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
2026-03-14 15:40:53 +08:00
vsxd
de5956476b Sync header auth state after login 2026-03-13 14:48:01 +08:00
vsxd
2170412bda feat(web): complete i18n coverage for all pages and components
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.
2026-03-13 14:43:26 +08:00
vsxd
9b5154cc51 feat(web): add unified API error handling and complete i18n coverage
- 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
2026-03-13 13:55:59 +08:00
vsxd
066bbc8f00 fix(web): fix i18n language switching and add translations
- 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
2026-03-13 13:42:57 +08:00
vsxd
0200d21f0e feat(web): implement toast notifications and SPA dialogs
- 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
2026-03-13 13:41:10 +08:00
vsxd
8d01cc0976 feat(web): add role-based menu item visibility
- 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
2026-03-13 13:29:02 +08:00
vsxd
969464afba feat(web): implement i18n and user menu
- 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
2026-03-13 13:21:05 +08:00
vsxd
303c27bca7 fix(web): 统一前端分页为0-based page index
与后端 Spring Data 的 0-based 分页对齐,修复首页数据不显示的问题。
涉及: router, search, home, landing, pagination 组件
2026-03-13 12:58:28 +08:00
vsxd
6305fcca39 feat(frontend): redesign UI with Aurora Tech theme
- Typography: Playfair Display (hero serif) + Outfit (headings) + DM Sans (body) + JetBrains Mono (code)
- Color: light-first with cyan primary + violet accent, deep navy dark theme via .dark class
- Visual: dot-grid texture, gradient glow orbs, glassmorphism nav/search, card hover animations, staggered fade-in
- Layout: glass header, footer with links, hero with gradient text + CTA buttons
- Components: all UI primitives (Button/Card/Input/Tabs/Dialog/Table/Select/Textarea) updated
- Pages: all 15+ pages restyled including home, search, detail, login, dashboard, admin
2026-03-12 21:11:41 +08:00
vsxd
a3fe76eaeb feat(web): add Phase 2 frontend foundation - types, hooks, shared and feature components 2026-03-12 02:43:01 +08:00