feat: refactor app data provider and context for improved data management and performance

This commit is contained in:
Tunglies
2025-10-04 21:20:31 +08:00
parent 90b98f695b
commit 1176f8c863
19 changed files with 403 additions and 353 deletions

View File

@@ -1,18 +1,18 @@
import { StorageOutlined, RefreshRounded } from "@mui/icons-material";
import { RefreshRounded, StorageOutlined } from "@mui/icons-material";
import {
Button,
Box,
Button,
Dialog,
DialogTitle,
DialogContent,
DialogActions,
DialogContent,
DialogTitle,
Divider,
IconButton,
LinearProgress,
List,
ListItem,
ListItemText,
Typography,
Divider,
LinearProgress,
alpha,
styled,
} from "@mui/material";
@@ -21,7 +21,7 @@ import dayjs from "dayjs";
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { useAppData } from "@/providers/app-data-provider";
import { useAppData } from "@/providers/app-data-context";
import { proxyProviderUpdate } from "@/services/cmds";
import { showNotice } from "@/services/noticeService";
import parseTraffic from "@/utils/parse-traffic";

View File

@@ -35,7 +35,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import useSWR from "swr";
import { useAppData } from "@/providers/app-data-provider";
import { useAppData } from "@/providers/app-data-context";
import {
closeAllConnections,
getProxies,

View File

@@ -1,28 +1,28 @@
import { ExpandMoreRounded } from "@mui/icons-material";
import {
Box,
Snackbar,
Alert,
Box,
Chip,
Typography,
IconButton,
Menu,
MenuItem,
Snackbar,
Typography,
} from "@mui/material";
import { useLockFn } from "ahooks";
import { useRef, useState, useEffect, useCallback, useMemo } from "react";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { Virtuoso, type VirtuosoHandle } from "react-virtuoso";
import useSWR from "swr";
import { useProxySelection } from "@/hooks/use-proxy-selection";
import { useVerge } from "@/hooks/use-verge";
import { useAppData } from "@/providers/app-data-provider";
import { useAppData } from "@/providers/app-data-context";
import {
providerHealthCheck,
getGroupProxyDelays,
updateProxyChainConfigInRuntime,
getRuntimeConfig,
providerHealthCheck,
updateProxyChainConfigInRuntime,
} from "@/services/cmds";
import delayManager from "@/services/delay";

View File

@@ -2,14 +2,14 @@ import { useEffect, useMemo } from "react";
import useSWR from "swr";
import { useVerge } from "@/hooks/use-verge";
import { useAppData } from "@/providers/app-data-provider";
import { useAppData } from "@/providers/app-data-context";
import { getRuntimeConfig } from "@/services/cmds";
import delayManager from "@/services/delay";
import { filterSort } from "./use-filter-sort";
import {
useHeadStateNew,
DEFAULT_STATE,
useHeadStateNew,
type HeadState,
} from "./use-head-state";
import { useWindowWidth } from "./use-window-width";