Przeglądaj źródła

fix: manage global proxy correctly

GyDi 3 lat temu
rodzic
commit
502706931e
1 zmienionych plików z 18 dodań i 2 usunięć
  1. 18 2
      src/components/proxy/proxy-global.tsx

+ 18 - 2
src/components/proxy/proxy-global.tsx

@@ -91,8 +91,24 @@ const ProxyGlobal = (props: Props) => {
 
   useEffect(() => {
     if (groupName === "DIRECT") setNow("DIRECT");
-    if (groupName === "GLOBAL") setNow(curProxy || "DIRECT");
-  }, [groupName, curProxy]);
+    else if (groupName === "GLOBAL") {
+      if (profiles) {
+        const current = profiles.current;
+        const profile = profiles.items?.find((p) => p.uid === current);
+
+        profile?.selected?.forEach((item) => {
+          if (item.name === "GLOBAL") {
+            if (item.now && item.now !== curProxy) {
+              updateProxy("GLOBAL", item.now).then(() => setNow(item!.now!));
+              mutate("getProxies");
+            }
+          }
+        });
+      }
+
+      setNow(curProxy || "DIRECT");
+    }
+  }, [groupName, curProxy, profiles]);
 
   return (
     <>