mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 15:53:45 +08:00
29 lines
716 B
TypeScript
29 lines
716 B
TypeScript
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
|
|
};
|
|
}
|