فهرست منبع

fix: check service

MystiPanda 11 ماه پیش
والد
کامیت
ad1a057edb
2فایلهای تغییر یافته به همراه10 افزوده شده و 2 حذف شده
  1. 4 1
      src/components/setting/mods/service-viewer.tsx
  2. 6 1
      src/components/setting/mods/stack-mode-switch.tsx

+ 4 - 1
src/components/setting/mods/service-viewer.tsx

@@ -41,8 +41,11 @@ export const ServiceViewer = forwardRef<DialogRef, Props>((props, ref) => {
   const onInstall = useLockFn(async () => {
     try {
       await installService();
-      mutateCheck();
+      await mutateCheck();
       setOpen(false);
+      setTimeout(() => {
+        mutateCheck();
+      }, 2000);
       Notice.success(t("Service Installed Successfully"));
     } catch (err: any) {
       mutateCheck();

+ 6 - 1
src/components/setting/mods/stack-mode-switch.tsx

@@ -4,6 +4,7 @@ import { checkService } from "@/services/cmds";
 import { useVerge } from "@/hooks/use-verge";
 import getSystem from "@/utils/get-system";
 import useSWR from "swr";
+import { useEffect } from "react";
 
 const isWIN = getSystem() === "windows";
 
@@ -17,7 +18,7 @@ export const StackModeSwitch = (props: Props) => {
   const { verge } = useVerge();
   const { enable_service_mode } = verge ?? {};
   // service mode
-  const { data: serviceStatus } = useSWR(
+  const { data: serviceStatus, mutate: mutateCheck } = useSWR(
     isWIN ? "checkService" : null,
     checkService,
     {
@@ -28,6 +29,10 @@ export const StackModeSwitch = (props: Props) => {
 
   const { t } = useTranslation();
 
+  useEffect(() => {
+    mutateCheck();
+  }, []);
+
   return (
     <Tooltip
       title={