From 2e505f26ae25c8ad38459eb9a1c3e8f082fecb36 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Wed, 15 Apr 2026 15:07:04 +0800 Subject: [PATCH] feat(proxy-groups): integrate useQuery for fetching proxies data --- src/components/proxy/proxy-groups.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index 8d8df0da3..9a8e70f6e 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -9,6 +9,7 @@ import { Snackbar, Typography, } from '@mui/material' +import { useQuery } from '@tanstack/react-query' import { useVirtualizer } from '@tanstack/react-virtual' import { useLockFn } from 'ahooks' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' @@ -19,7 +20,7 @@ import { BaseEmpty } from '@/components/base' import { useProxySelection } from '@/hooks/use-proxy-selection' import { useVerge } from '@/hooks/use-verge' import { useAppData } from '@/providers/app-data-context' -import { updateProxyChainConfigInRuntime } from '@/services/cmds' +import { calcuProxies, updateProxyChainConfigInRuntime } from '@/services/cmds' import delayManager from '@/services/delay' import { debugLog } from '@/utils/debug' @@ -49,6 +50,17 @@ interface ProxyChainItem { export const ProxyGroups = (props: Props) => { const { t } = useTranslation() const { mode, isChainMode = false, chainConfigData } = props + + useQuery({ + queryKey: ['getProxies'], + queryFn: calcuProxies, + refetchInterval: 3000, + refetchIntervalInBackground: false, + staleTime: 1500, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }) + const [proxyChain, setProxyChain] = useState(() => { try { const saved = localStorage.getItem('proxy-chain-items')