seaislee1209 c1dbc7ac86 refactor(users): 改名/观察者/角色切换归并到「编辑」modal — 操作列只剩 3 个按钮
行内/独立按钮模式之前太散,actions 列挤满。本质都是「编辑用户属性」,合并到 modal:

UsersPage(超管):
- 删 cell 内联「改名」按钮 + 内联编辑 state(editingUsernameId/Value + startEditUsername/cancelEditUsername/handleSaveUsername)
- 删 actions「设为观察者/取消观察者」按钮 + handleToggleObserver
- 「编辑」modal 标题改「编辑用户」,加 [用户名] (admin 行 disabled) + [观察者复选框] (仅 team_admin 显示)
- handleSaveQuota → handleSaveUser:串调 username → observer → quota,任一失败 toast + 停留 modal
- cell 保留 observer badge 只读显示
- actions 列剩 [编辑] [重置密码] [禁用/启用]

TeamMembersPage(团管):
- 删 cell 内联「改名」按钮 + 内联编辑 state
- 删 actions「设为副管理员/取消副管理员」按钮
- 「编辑配额」改「编辑」,modal 标题「编辑成员」,加 [用户名] (按 canEditUsernameFor) + [角色 select] (canEditRoleFor 决定 select 还是 readonly 文本)
- 新 helper canEditRoleFor:仅主管可改非主管成员的角色
- handleSaveQuota → handleSaveMember:串调 username → role → quota
- actions 列剩 [编辑] [重置密码(权限矩阵)] [禁用/启用]

后端零改动,纯前端串调现有 PATCH endpoints。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 18:11:14 +08:00
2026-03-13 10:03:12 +08:00
2026-03-13 10:03:12 +08:00
2026-04-04 14:04:53 +08:00
2026-04-04 10:15:23 +08:00
2026-04-04 10:15:23 +08:00
Description
火山视频生成
97 MiB
Languages
TypeScript 51.6%
Python 27.3%
HTML 11.1%
CSS 9.9%
Dockerfile 0.1%