feat: role CRUD page

This commit is contained in:
tao.chen
2026-09-02 10:10:41 +08:00
committed by tao.chen
parent a65baea4d7
commit fbd4da5224
12 changed files with 891 additions and 6 deletions
+23
View File
@@ -0,0 +1,23 @@
import { useAuth } from "~/context/AuthContext";
import { useScriptWorkspaceStore } from "~/features/platform/state/scriptWorkspaceStore";
import { useUiStore } from "~/features/platform/state/uiStore";
import { RoleManagementPage } from "~/features/admin/RoleManagementPage";
/**
* /system/roles 路由页。RoleManagementPage 内部有 useState
* 在 user / workspace 切换时必须重挂载以重置本地状态
* (见 CLAUDE.md「Route components with their own internal state」)。
*/
export default function RoleManagementRoute() {
const { user, currentWorkspace } = useAuth();
const setApiOnline = useScriptWorkspaceStore((s) => s.setApiOnline);
const pushToast = useUiStore((s) => s.pushToast);
return (
<RoleManagementPage
key={`${user?.user_id ?? "anon"}-${currentWorkspace?.workspace_id ?? "none"}`}
onNotify={pushToast}
onConnectionChange={setApiOnline}
/>
);
}