Merge remote-tracking branch 'aliyun/feature/a-card-operations' into develop
This commit is contained in:
@@ -1,18 +1,24 @@
|
||||
import { useEffect } from "react";
|
||||
import { useNavigate } from "react-router";
|
||||
import { Navigate, useNavigate } from "react-router";
|
||||
|
||||
import { useAuth } from "~/context/AuthContext";
|
||||
import { useAuth, usePermission } from "~/context/AuthContext";
|
||||
import { DashboardPage } from "../admin/DashboardPage";
|
||||
import { useScriptWorkspaceStore } from "./state/scriptWorkspaceStore";
|
||||
|
||||
export default function DashboardRoute() {
|
||||
const canViewDevelopmentWorkbench = usePermission("dashboard:view");
|
||||
const { currentWorkspace } = useAuth();
|
||||
const scripts = useScriptWorkspaceStore((s) => s.scripts);
|
||||
const scriptCount = useScriptWorkspaceStore((s) => s.scriptCount);
|
||||
const loadScriptCount = useScriptWorkspaceStore((s) => s.loadScriptCount);
|
||||
const apiOnline = useScriptWorkspaceStore((s) => s.apiOnline);
|
||||
const workspaceId = useAuth().currentWorkspace?.workspace_id;
|
||||
const workspaceId = currentWorkspace?.workspace_id;
|
||||
const navigate = useNavigate();
|
||||
|
||||
if (!canViewDevelopmentWorkbench) {
|
||||
return <Navigate to="/operations" replace />;
|
||||
}
|
||||
|
||||
// Reload on workspace switch — DashboardRoute is not keyed by
|
||||
// workspace/user (only ScriptsPage is), so without this dep the
|
||||
// previous workspace's count would persist.
|
||||
@@ -31,4 +37,4 @@ export default function DashboardRoute() {
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
useScriptWorkspaceStore,
|
||||
} from "../state/scriptWorkspaceStore";
|
||||
|
||||
type ActivePage = "home" | "scripts" | "schedules" | "system";
|
||||
type ActivePage = "home" | "scripts" | "schedules" | "operations" | "system";
|
||||
|
||||
/**
|
||||
* 必须在 layout 层挂载,不能放在 ScriptsPage。
|
||||
|
||||
Reference in New Issue
Block a user