Refactor imports and improve code organization across multiple components and hooks

- Consolidated and reordered imports in various files for better readability and maintainability.
- Removed unused imports and ensured consistent import styles.
- Enhanced the structure of components by grouping related imports together.
- Updated the layout and organization of hooks to streamline functionality.
- Improved the overall code quality by following best practices in import management.
This commit is contained in:
Tunglies
2025-09-18 23:34:21 +08:00
parent 74ade3ee41
commit 627119bb22
119 changed files with 1157 additions and 694 deletions

View File

@@ -1,4 +1,4 @@
import { useState } from "react";
import { StorageOutlined, RefreshRounded } from "@mui/icons-material";
import {
Button,
Box,
@@ -16,13 +16,14 @@ import {
alpha,
styled,
} from "@mui/material";
import { useTranslation } from "react-i18next";
import { useLockFn } from "ahooks";
import { proxyProviderUpdate } from "@/services/cmds";
import { useAppData } from "@/providers/app-data-provider";
import { showNotice } from "@/services/noticeService";
import { StorageOutlined, RefreshRounded } from "@mui/icons-material";
import dayjs from "dayjs";
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { useAppData } from "@/providers/app-data-provider";
import { proxyProviderUpdate } from "@/services/cmds";
import { showNotice } from "@/services/noticeService";
import parseTraffic from "@/utils/parse-traffic";
// 定义代理提供者类型

View File

@@ -1,23 +1,3 @@
import { useState, useCallback, useEffect, useRef } from "react";
import {
Box,
Paper,
Typography,
IconButton,
Chip,
Alert,
useTheme,
Button,
} from "@mui/material";
import { useTranslation } from "react-i18next";
import { useAppData } from "@/providers/app-data-provider";
import {
updateProxyChainConfigInRuntime,
updateProxyAndSync,
getProxies,
closeAllConnections,
} from "@/services/cmds";
import useSWR from "swr";
import {
DndContext,
closestCenter,
@@ -38,11 +18,30 @@ import { CSS } from "@dnd-kit/utilities";
import {
Delete as DeleteIcon,
DragIndicator,
ClearAll,
Save,
Link,
LinkOff,
} from "@mui/icons-material";
import {
Box,
Paper,
Typography,
IconButton,
Chip,
Alert,
useTheme,
Button,
} from "@mui/material";
import { useState, useCallback, useEffect, useRef } from "react";
import { useTranslation } from "react-i18next";
import useSWR from "swr";
import { useAppData } from "@/providers/app-data-provider";
import {
updateProxyChainConfigInRuntime,
updateProxyAndSync,
getProxies,
closeAllConnections,
} from "@/services/cmds";
interface ProxyChainItem {
id: string;

View File

@@ -1,19 +1,20 @@
import { useRef, useState, useEffect, useCallback, useMemo } from "react";
import { Box, Snackbar, Alert } from "@mui/material";
import { useLockFn } from "ahooks";
import { Virtuoso, type VirtuosoHandle } from "react-virtuoso";
import { providerHealthCheck, getGroupProxyDelays } from "@/services/cmds";
import { useVerge } from "@/hooks/use-verge";
import { useProxySelection } from "@/hooks/use-proxy-selection";
import { BaseEmpty } from "../base";
import { useRenderList } from "./use-render-list";
import { ProxyRender } from "./proxy-render";
import delayManager from "@/services/delay";
import { useRef, useState, useEffect, useCallback } from "react";
import { useTranslation } from "react-i18next";
import { Virtuoso, type VirtuosoHandle } from "react-virtuoso";
import { BaseEmpty } from "../base";
import { ScrollTopButton } from "../layout/scroll-top-button";
import { Box, styled, Snackbar, Alert } from "@mui/material";
import { memo } from "react";
import { createPortal } from "react-dom";
import { ProxyChain } from "./proxy-chain";
import { ProxyRender } from "./proxy-render";
import { useRenderList } from "./use-render-list";
import { useProxySelection } from "@/hooks/use-proxy-selection";
import { useVerge } from "@/hooks/use-verge";
import { providerHealthCheck, getGroupProxyDelays } from "@/services/cmds";
import delayManager from "@/services/delay";
interface Props {
mode: string;

View File

@@ -1,6 +1,3 @@
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { Box, IconButton, TextField, SxProps } from "@mui/material";
import {
AccessTimeRounded,
MyLocationRounded,
@@ -14,9 +11,14 @@ import {
SortByAlphaRounded,
SortRounded,
} from "@mui/icons-material";
import { useVerge } from "@/hooks/use-verge";
import type { HeadState } from "./use-head-state";
import { Box, IconButton, TextField, SxProps } from "@mui/material";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import type { ProxySortType } from "./use-filter-sort";
import type { HeadState } from "./use-head-state";
import { useVerge } from "@/hooks/use-verge";
import delayManager from "@/services/delay";
interface Props {

View File

@@ -1,12 +1,13 @@
import { useEffect, useState } from "react";
import { useLockFn } from "ahooks";
import { CheckCircleOutlineRounded } from "@mui/icons-material";
import { alpha, Box, ListItemButton, styled, Typography } from "@mui/material";
import { BaseLoading } from "@/components/base";
import delayManager from "@/services/delay";
import { useVerge } from "@/hooks/use-verge";
import { useLockFn } from "ahooks";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseLoading } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import delayManager from "@/services/delay";
interface Props {
group: IProxyGroupItem;
proxy: IProxyItem;

View File

@@ -1,5 +1,3 @@
import { useEffect, useState } from "react";
import { useLockFn } from "ahooks";
import { CheckCircleOutlineRounded } from "@mui/icons-material";
import {
alpha,
@@ -12,9 +10,12 @@ import {
SxProps,
Theme,
} from "@mui/material";
import { useLockFn } from "ahooks";
import { useEffect, useState } from "react";
import { BaseLoading } from "@/components/base";
import delayManager from "@/services/delay";
import { useVerge } from "@/hooks/use-verge";
import delayManager from "@/services/delay";
interface Props {
group: IProxyGroupItem;

View File

@@ -1,3 +1,8 @@
import {
ExpandLessRounded,
ExpandMoreRounded,
InboxRounded,
} from "@mui/icons-material";
import {
alpha,
Box,
@@ -8,22 +13,19 @@ import {
Chip,
Tooltip,
} from "@mui/material";
import {
ExpandLessRounded,
ExpandMoreRounded,
InboxRounded,
} from "@mui/icons-material";
import { HeadState } from "./use-head-state";
import { convertFileSrc } from "@tauri-apps/api/core";
import { useEffect, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { ProxyHead } from "./proxy-head";
import { ProxyItem } from "./proxy-item";
import { ProxyItemMini } from "./proxy-item-mini";
import { HeadState } from "./use-head-state";
import type { IRenderItem } from "./use-render-list";
import { useVerge } from "@/hooks/use-verge";
import { useThemeMode } from "@/services/states";
import { useEffect, useMemo, useState } from "react";
import { convertFileSrc } from "@tauri-apps/api/core";
import { downloadIconCache } from "@/services/cmds";
import { useTranslation } from "react-i18next";
import { useThemeMode } from "@/services/states";
interface RenderProps {
item: IRenderItem;

View File

@@ -1,4 +1,5 @@
import { useEffect, useMemo, useState } from "react";
import delayManager from "@/services/delay";
// default | delay | alphabet

View File

@@ -1,5 +1,7 @@
import { useCallback, useEffect, useState } from "react";
import { ProxySortType } from "./use-filter-sort";
import { useProfiles } from "@/hooks/use-profiles";
export interface HeadState {

View File

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