diff --git a/src/components/setting/mods/clash-core-viewer.tsx b/src/components/setting/mods/clash-core-viewer.tsx index 8d05898..ecef0a6 100644 --- a/src/components/setting/mods/clash-core-viewer.tsx +++ b/src/components/setting/mods/clash-core-viewer.tsx @@ -5,8 +5,15 @@ import { useTranslation } from "react-i18next"; import { useVerge } from "@/hooks/use-verge"; import { useLockFn } from "ahooks"; import { Lock } from "@mui/icons-material"; -import { IconButton, List, ListItemButton, ListItemText } from "@mui/material"; -import { changeClashCore } from "@/services/cmds"; +import { + Box, + Button, + IconButton, + List, + ListItemButton, + ListItemText, +} from "@mui/material"; +import { changeClashCore, restartSidecar } from "@/services/cmds"; import { closeAllConnections } from "@/services/api"; import { grantPermission } from "@/services/cmds"; import getSystem from "@/utils/get-system"; @@ -58,10 +65,27 @@ export const ClashCoreViewer = forwardRef((props, ref) => { } }); + const onRestart = useLockFn(async () => { + try { + await restartSidecar(); + Notice.success(`Successfully restart core`, 1000); + } catch (err: any) { + Notice.error(err?.message || err.toString()); + } + }); + return ( + {t("Clash Core")} + + + + } contentSx={{ pb: 0, width: 320, diff --git a/src/locales/en.json b/src/locales/en.json index 573e5f8..f43abdc 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -91,6 +91,7 @@ "Clash Field": "Clash Field", "Runtime Config": "Runtime Config", "ReadOnly": "ReadOnly", + "Restart": "Restart", "Back": "Back", "Save": "Save", diff --git a/src/locales/zh.json b/src/locales/zh.json index b64ce7a..950ebf7 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -95,6 +95,7 @@ "Clash Field": "Clash 字段", "Runtime Config": "运行配置", "ReadOnly": "只读", + "Restart": "重启内核", "Back": "返回", "Save": "保存",