feat: unify runtime mode detection; support TUN and service installation in admin mode

This commit is contained in:
wonfen
2025-03-31 08:16:14 +08:00
parent 8e99672265
commit c53514e060
8 changed files with 109 additions and 61 deletions

View File

@@ -0,0 +1,29 @@
import useSWR from "swr";
import { getRunningMode, isAdmin } from "@/services/cmds";
/**
* 自定义 hook 用于获取系统运行状态
* 包括运行模式和管理员状态
*/
export function useSystemState() {
// 获取运行模式
const { data: runningMode = "Sidecar", mutate: mutateRunningMode } =
useSWR("getRunningMode", getRunningMode, {
suspense: false,
revalidateOnFocus: false
});
// 获取管理员状态
const { data: isAdminMode = false } =
useSWR("isAdmin", isAdmin, {
suspense: false,
revalidateOnFocus: false
});
return {
runningMode,
isAdminMode,
isSidecarMode: runningMode === "Sidecar",
mutateRunningMode
};
}