refactor(base): expand barrel exports and standardize imports

This commit is contained in:
Slinetrac
2026-01-06 15:02:10 +08:00
parent 60d3a1927b
commit a981be80ef
22 changed files with 45 additions and 47 deletions

View File

@@ -1,8 +1,16 @@
export { BaseDialog, type DialogRef } from "./base-dialog";
export { BasePage } from "./base-page";
export { BaseEmpty } from "./base-empty";
export { BaseLoading } from "./base-loading";
export { BaseErrorBoundary } from "./base-error-boundary";
export { BaseSplitChipEditor } from "./base-split-chip-editor";
export { Switch } from "./base-switch";
export { BaseFieldset } from "./base-fieldset";
export { BaseLoading } from "./base-loading";
export { BaseLoadingOverlay } from "./base-loading-overlay";
export { BasePage } from "./base-page";
export { BaseSearchBox, type SearchState } from "./base-search-box";
export {
BaseSplitChipEditor,
type BaseSplitChipEditorMode,
} from "./base-split-chip-editor";
export { BaseStyledSelect } from "./base-styled-select";
export { BaseStyledTextField } from "./base-styled-text-field";
export { Switch } from "./base-switch";
export { TooltipIcon } from "./base-tooltip-icon";

View File

@@ -2,10 +2,10 @@ import { Button } from "@mui/material";
import { useRef } from "react";
import useSWR from "swr";
import { DialogRef } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import { checkUpdateSafe } from "@/services/update";
import { DialogRef } from "../base";
import { UpdateViewer } from "../setting/mods/update-viewer";
interface Props {

View File

@@ -1,7 +1,7 @@
import { styled, Box } from "@mui/material";
import type { ReactNode } from "react";
import { SearchState } from "@/components/base/base-search-box";
import type { SearchState } from "@/components/base";
const Item = styled(Box)(({ theme: { palette, typography } }) => ({
padding: "8px 0",

View File

@@ -48,7 +48,7 @@ import { Controller, useForm } from "react-hook-form";
import { useTranslation } from "react-i18next";
import { Virtuoso } from "react-virtuoso";
import { Switch } from "@/components/base";
import { BaseSearchBox, Switch } from "@/components/base";
import { GroupItem } from "@/components/profile/group-item";
import {
getNetworkInterfaces,
@@ -60,8 +60,6 @@ import { useThemeMode } from "@/services/states";
import type { TranslationKey } from "@/types/generated/i18n-keys";
import getSystem from "@/utils/get-system";
import { BaseSearchBox } from "../base/base-search-box";
interface Props {
proxiesUid: string;
mergeUid: string;

View File

@@ -40,6 +40,7 @@ import {
import { useTranslation } from "react-i18next";
import { Virtuoso } from "react-virtuoso";
import { BaseSearchBox } from "@/components/base";
import { ProxyItem } from "@/components/profile/proxy-item";
import { readProfileFile, saveProfileFile } from "@/services/cmds";
import { showNotice } from "@/services/notice-service";
@@ -47,8 +48,6 @@ import { useThemeMode } from "@/services/states";
import getSystem from "@/utils/get-system";
import parseUri from "@/utils/uri-parser";
import { BaseSearchBox } from "../base/base-search-box";
interface Props {
profileUid: string;
property: string;

View File

@@ -42,7 +42,7 @@ import {
import { useTranslation } from "react-i18next";
import { Virtuoso } from "react-virtuoso";
import { Switch } from "@/components/base";
import { BaseSearchBox, Switch } from "@/components/base";
import { RuleItem } from "@/components/profile/rule-item";
import { readProfileFile, saveProfileFile } from "@/services/cmds";
import { showNotice } from "@/services/notice-service";
@@ -50,8 +50,6 @@ import { useThemeMode } from "@/services/states";
import type { TranslationKey } from "@/types/generated/i18n-keys";
import getSystem from "@/utils/get-system";
import { BaseSearchBox } from "../base/base-search-box";
interface Props {
groupsUid: string;
mergeUid: string;

View File

@@ -15,6 +15,7 @@ import { useTranslation } from "react-i18next";
import { Virtuoso, type VirtuosoHandle } from "react-virtuoso";
import { delayGroup, healthcheckProxyProvider } from "tauri-plugin-mihomo-api";
import { BaseEmpty } from "@/components/base";
import { useProxiesData } from "@/hooks/use-clash-data";
import { useProxySelection } from "@/hooks/use-proxy-selection";
import { useVerge } from "@/hooks/use-verge";
@@ -22,7 +23,6 @@ import { updateProxyChainConfigInRuntime } from "@/services/cmds";
import delayManager from "@/services/delay";
import { debugLog } from "@/utils/debug";
import { BaseEmpty } from "../base";
import { ScrollTopButton } from "../layout/scroll-top-button";
import { ProxyChain } from "./proxy-chain";

View File

@@ -15,7 +15,7 @@ import { Box, IconButton, TextField, SxProps } from "@mui/material";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseSearchBox } from "@/components/base/base-search-box";
import { BaseSearchBox } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import delayManager from "@/services/delay";
import { debugLog } from "@/utils/debug";

View File

@@ -17,8 +17,7 @@ import { exists } from "@tauri-apps/plugin-fs";
import { forwardRef, useEffect, useImperativeHandle, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseDialog, DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { BaseDialog, DialogRef, Switch, TooltipIcon } from "@/components/base";
import { DEFAULT_HOVER_DELAY } from "@/components/proxy/proxy-group-navigator";
import { useVerge } from "@/hooks/use-verge";
import { useWindowDecorations } from "@/hooks/use-window";

View File

@@ -11,8 +11,7 @@ import type { Ref } from "react";
import { useImperativeHandle, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseDialog, DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { BaseDialog, DialogRef, Switch, TooltipIcon } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import { entry_lightweight_mode } from "@/services/cmds";
import { showNotice } from "@/services/notice-service";

View File

@@ -11,8 +11,7 @@ import { useLockFn } from "ahooks";
import { forwardRef, useImperativeHandle, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseDialog, DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { BaseDialog, DialogRef, Switch, TooltipIcon } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import { showNotice } from "@/services/notice-service";

View File

@@ -26,12 +26,12 @@ import { mutate } from "swr";
import {
BaseDialog,
BaseFieldset,
BaseSplitChipEditor,
DialogRef,
Switch,
TooltipIcon,
} from "@/components/base";
import { BaseFieldset } from "@/components/base/base-fieldset";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { EditorViewer } from "@/components/profile/editor-viewer";
import {
useClashConfig,

View File

@@ -12,8 +12,7 @@ import type { Ref } from "react";
import { useImperativeHandle, useState } from "react";
import { useTranslation } from "react-i18next";
import { BaseDialog, DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { BaseDialog, DialogRef, Switch, TooltipIcon } from "@/components/base";
import { useClash } from "@/hooks/use-clash";
import { enhanceProfiles } from "@/services/cmds";
import { showNotice } from "@/services/notice-service";

View File

@@ -6,8 +6,7 @@ import { useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { updateGeo } from "tauri-plugin-mihomo-api";
import { DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { DialogRef, Switch, TooltipIcon } from "@/components/base";
import { useClash } from "@/hooks/use-clash";
import { useClashLog } from "@/hooks/use-clash-log";
import { useVerge } from "@/hooks/use-verge";

View File

@@ -2,8 +2,7 @@ import React, { useRef } from "react";
import { useTranslation } from "react-i18next";
import { mutate } from "swr";
import { DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { DialogRef, Switch, TooltipIcon } from "@/components/base";
import ProxyControlSwitches from "@/components/shared/proxy-control-switches";
import { useVerge } from "@/hooks/use-verge";

View File

@@ -3,8 +3,7 @@ import { Typography } from "@mui/material";
import { useCallback, useRef } from "react";
import { useTranslation } from "react-i18next";
import { DialogRef } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { DialogRef, TooltipIcon } from "@/components/base";
import {
exitApp,
exportDiagnosticInfo,

View File

@@ -4,8 +4,7 @@ import { open } from "@tauri-apps/plugin-dialog";
import { useCallback, useRef } from "react";
import { useTranslation } from "react-i18next";
import { DialogRef } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { DialogRef, TooltipIcon } from "@/components/base";
import { useVerge } from "@/hooks/use-verge";
import { navItems } from "@/pages/_routers";
import { copyClashEnv } from "@/services/cmds";

View File

@@ -11,8 +11,7 @@ import { useLockFn } from "ahooks";
import React, { useCallback, useRef } from "react";
import { useTranslation } from "react-i18next";
import { DialogRef, Switch } from "@/components/base";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { DialogRef, Switch, TooltipIcon } from "@/components/base";
import { GuardState } from "@/components/setting/mods/guard-state";
import { SysproxyViewer } from "@/components/setting/mods/sysproxy-viewer";
import { TunViewer } from "@/components/setting/mods/tun-viewer";

View File

@@ -18,9 +18,12 @@ import { useTranslation } from "react-i18next";
import { Virtuoso } from "react-virtuoso";
import { closeAllConnections } from "tauri-plugin-mihomo-api";
import { BaseEmpty, BasePage } from "@/components/base";
import { BaseSearchBox } from "@/components/base/base-search-box";
import { BaseStyledSelect } from "@/components/base/base-styled-select";
import {
BaseEmpty,
BasePage,
BaseSearchBox,
BaseStyledSelect,
} from "@/components/base";
import {
ConnectionDetail,
ConnectionDetailRef,

View File

@@ -8,10 +8,13 @@ import { useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
import { Virtuoso } from "react-virtuoso";
import { BaseEmpty, BasePage } from "@/components/base";
import { BaseSearchBox } from "@/components/base/base-search-box";
import { SearchState } from "@/components/base/base-search-box";
import { BaseStyledSelect } from "@/components/base/base-styled-select";
import {
BaseEmpty,
BasePage,
BaseSearchBox,
BaseStyledSelect,
type SearchState,
} from "@/components/base";
import LogItem from "@/components/log/log-item";
import { useClashLog } from "@/hooks/use-clash-log";
import { useLogData } from "@/hooks/use-log-data";

View File

@@ -36,8 +36,7 @@ import { useLocation } from "react-router";
import useSWR, { mutate } from "swr";
import { closeAllConnections } from "tauri-plugin-mihomo-api";
import { BasePage, DialogRef } from "@/components/base";
import { BaseStyledTextField } from "@/components/base/base-styled-text-field";
import { BasePage, BaseStyledTextField, DialogRef } from "@/components/base";
import { ProfileItem } from "@/components/profile/profile-item";
import { ProfileMore } from "@/components/profile/profile-more";
import {

View File

@@ -3,8 +3,7 @@ import { useEffect, useMemo, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
import { Virtuoso, VirtuosoHandle } from "react-virtuoso";
import { BaseEmpty, BasePage } from "@/components/base";
import { BaseSearchBox } from "@/components/base/base-search-box";
import { BaseEmpty, BasePage, BaseSearchBox } from "@/components/base";
import { ScrollTopButton } from "@/components/layout/scroll-top-button";
import { ProviderButton } from "@/components/rule/provider-button";
import RuleItem from "@/components/rule/rule-item";