feat: better service status and TUN mode usable checks in Setting Page
This commit is contained in:
@@ -1,29 +1,42 @@
|
||||
import useSWR from "swr";
|
||||
import { getRunningMode, isAdmin } from "@/services/cmds";
|
||||
import { getRunningMode, isAdmin, isServiceAvailable } from "@/services/cmds";
|
||||
|
||||
/**
|
||||
* 自定义 hook 用于获取系统运行状态
|
||||
* 包括运行模式和管理员状态
|
||||
* 包括运行模式、管理员状态、系统服务是否可用
|
||||
*/
|
||||
export function useSystemState() {
|
||||
// 获取运行模式
|
||||
const { data: runningMode = "Sidecar", mutate: mutateRunningMode } =
|
||||
useSWR("getRunningMode", getRunningMode, {
|
||||
const { data: runningMode = "Sidecar", mutate: mutateRunningMode } = useSWR(
|
||||
"getRunningMode",
|
||||
getRunningMode,
|
||||
{
|
||||
suspense: false,
|
||||
revalidateOnFocus: false
|
||||
});
|
||||
|
||||
revalidateOnFocus: false,
|
||||
},
|
||||
);
|
||||
|
||||
// 获取管理员状态
|
||||
const { data: isAdminMode = false } =
|
||||
useSWR("isAdmin", isAdmin, {
|
||||
const { data: isAdminMode = false } = useSWR("isAdmin", isAdmin, {
|
||||
suspense: false,
|
||||
revalidateOnFocus: false,
|
||||
});
|
||||
|
||||
// 获取系统服务状态
|
||||
const { data: isServiceOk = false } = useSWR(
|
||||
"isServiceAvailable",
|
||||
isServiceAvailable,
|
||||
{
|
||||
suspense: false,
|
||||
revalidateOnFocus: false
|
||||
});
|
||||
|
||||
revalidateOnFocus: false,
|
||||
},
|
||||
);
|
||||
|
||||
return {
|
||||
runningMode,
|
||||
isAdminMode,
|
||||
isSidecarMode: runningMode === "Sidecar",
|
||||
mutateRunningMode
|
||||
mutateRunningMode,
|
||||
isServiceOk,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user