diff --git a/src/components/base/index.ts b/src/components/base/index.ts index f80733b2a..8effa81a2 100644 --- a/src/components/base/index.ts +++ b/src/components/base/index.ts @@ -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"; diff --git a/src/components/layout/update-button.tsx b/src/components/layout/update-button.tsx index d5c8b4ffe..21da30351 100644 --- a/src/components/layout/update-button.tsx +++ b/src/components/layout/update-button.tsx @@ -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 { diff --git a/src/components/log/log-item.tsx b/src/components/log/log-item.tsx index 4b1b25699..778a174d3 100644 --- a/src/components/log/log-item.tsx +++ b/src/components/log/log-item.tsx @@ -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", diff --git a/src/components/profile/groups-editor-viewer.tsx b/src/components/profile/groups-editor-viewer.tsx index ca498ffc4..6978f9c0a 100644 --- a/src/components/profile/groups-editor-viewer.tsx +++ b/src/components/profile/groups-editor-viewer.tsx @@ -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; diff --git a/src/components/profile/proxies-editor-viewer.tsx b/src/components/profile/proxies-editor-viewer.tsx index b4a6332a3..bc655ea7a 100644 --- a/src/components/profile/proxies-editor-viewer.tsx +++ b/src/components/profile/proxies-editor-viewer.tsx @@ -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; diff --git a/src/components/profile/rules-editor-viewer.tsx b/src/components/profile/rules-editor-viewer.tsx index d0e56d322..daa595f74 100644 --- a/src/components/profile/rules-editor-viewer.tsx +++ b/src/components/profile/rules-editor-viewer.tsx @@ -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; diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index 88d7012d8..ee7636f3f 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -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"; diff --git a/src/components/proxy/proxy-head.tsx b/src/components/proxy/proxy-head.tsx index 97e28105b..26a784b99 100644 --- a/src/components/proxy/proxy-head.tsx +++ b/src/components/proxy/proxy-head.tsx @@ -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"; diff --git a/src/components/setting/mods/layout-viewer.tsx b/src/components/setting/mods/layout-viewer.tsx index bb9dddbef..945f191f2 100644 --- a/src/components/setting/mods/layout-viewer.tsx +++ b/src/components/setting/mods/layout-viewer.tsx @@ -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"; diff --git a/src/components/setting/mods/lite-mode-viewer.tsx b/src/components/setting/mods/lite-mode-viewer.tsx index 87a4021c2..c6e2cd2af 100644 --- a/src/components/setting/mods/lite-mode-viewer.tsx +++ b/src/components/setting/mods/lite-mode-viewer.tsx @@ -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"; diff --git a/src/components/setting/mods/misc-viewer.tsx b/src/components/setting/mods/misc-viewer.tsx index b92051d0e..9f493968b 100644 --- a/src/components/setting/mods/misc-viewer.tsx +++ b/src/components/setting/mods/misc-viewer.tsx @@ -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"; diff --git a/src/components/setting/mods/sysproxy-viewer.tsx b/src/components/setting/mods/sysproxy-viewer.tsx index 5f7163a57..ebb3aa045 100644 --- a/src/components/setting/mods/sysproxy-viewer.tsx +++ b/src/components/setting/mods/sysproxy-viewer.tsx @@ -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, diff --git a/src/components/setting/mods/tun-viewer.tsx b/src/components/setting/mods/tun-viewer.tsx index 1eb164d9d..8f0e5c59c 100644 --- a/src/components/setting/mods/tun-viewer.tsx +++ b/src/components/setting/mods/tun-viewer.tsx @@ -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"; diff --git a/src/components/setting/setting-clash.tsx b/src/components/setting/setting-clash.tsx index ff182f72b..3eed3a62e 100644 --- a/src/components/setting/setting-clash.tsx +++ b/src/components/setting/setting-clash.tsx @@ -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"; diff --git a/src/components/setting/setting-system.tsx b/src/components/setting/setting-system.tsx index 60108fcf9..5088c5d9f 100644 --- a/src/components/setting/setting-system.tsx +++ b/src/components/setting/setting-system.tsx @@ -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"; diff --git a/src/components/setting/setting-verge-advanced.tsx b/src/components/setting/setting-verge-advanced.tsx index fa2146772..43f95e324 100644 --- a/src/components/setting/setting-verge-advanced.tsx +++ b/src/components/setting/setting-verge-advanced.tsx @@ -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, diff --git a/src/components/setting/setting-verge-basic.tsx b/src/components/setting/setting-verge-basic.tsx index b298548da..ab516d319 100644 --- a/src/components/setting/setting-verge-basic.tsx +++ b/src/components/setting/setting-verge-basic.tsx @@ -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"; diff --git a/src/components/shared/proxy-control-switches.tsx b/src/components/shared/proxy-control-switches.tsx index 8a8ea2b41..40597e967 100644 --- a/src/components/shared/proxy-control-switches.tsx +++ b/src/components/shared/proxy-control-switches.tsx @@ -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"; diff --git a/src/pages/connections.tsx b/src/pages/connections.tsx index 8dcbe84e1..03cdc3614 100644 --- a/src/pages/connections.tsx +++ b/src/pages/connections.tsx @@ -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, diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx index 53d012cb7..6b74779bc 100644 --- a/src/pages/logs.tsx +++ b/src/pages/logs.tsx @@ -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"; diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx index 03fa43ced..15774b578 100644 --- a/src/pages/profiles.tsx +++ b/src/pages/profiles.tsx @@ -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 { diff --git a/src/pages/rules.tsx b/src/pages/rules.tsx index b418e54ad..026539423 100644 --- a/src/pages/rules.tsx +++ b/src/pages/rules.tsx @@ -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";