From 9a847dc5a3dc70843a49332e36c9089f29564248 Mon Sep 17 00:00:00 2001 From: fullex <0xfullex@gmail.com> Date: Sat, 6 Sep 2025 17:23:19 +0800 Subject: [PATCH] refactor: update Minapp components to use preference management - Replaced useSettings with usePreference in PinnedMinapps and useMinappPopup components for better preference handling. - Added external dependency for Electron in electron.vite.config.ts and set output format to CommonJS. --- electron.vite.config.ts | 4 +++- src/renderer/src/components/app/PinnedMinapps.tsx | 6 +++--- src/renderer/src/hooks/useMinappPopup.ts | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/electron.vite.config.ts b/electron.vite.config.ts index ec2d008885..d9acf008ce 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -64,8 +64,10 @@ export default defineConfig({ index: resolve(__dirname, 'src/preload/index.ts'), simplest: resolve(__dirname, 'src/preload/simplest.ts') // Minimal preload }, + external: ['electron'], output: { - entryFileNames: '[name].js' + entryFileNames: '[name].js', + format: 'cjs' } } } diff --git a/src/renderer/src/components/app/PinnedMinapps.tsx b/src/renderer/src/components/app/PinnedMinapps.tsx index 36ca6f9f7b..4156e4ea49 100644 --- a/src/renderer/src/components/app/PinnedMinapps.tsx +++ b/src/renderer/src/components/app/PinnedMinapps.tsx @@ -1,9 +1,9 @@ +import { usePreference } from '@data/hooks/usePreference' import { useTheme } from '@renderer/context/ThemeProvider' import { useMinappPopup } from '@renderer/hooks/useMinappPopup' import { useMinapps } from '@renderer/hooks/useMinapps' import { useNavbarPosition } from '@renderer/hooks/useNavbar' import { useRuntime } from '@renderer/hooks/useRuntime' -import { useSettings } from '@renderer/hooks/useSettings' import { MinAppType } from '@renderer/types' import type { MenuProps } from 'antd' import { Dropdown, Tooltip } from 'antd' @@ -18,7 +18,7 @@ import MinAppIcon from '../Icons/MinAppIcon' export const TopNavbarOpenedMinappTabs: FC = () => { const { minappShow, openedKeepAliveMinapps, currentMinappId } = useRuntime() const { openMinappKeepAlive, hideMinappPopup, closeMinapp, closeAllMinapps } = useMinappPopup() - const { showOpenedMinappsInSidebar } = useSettings() + const [showOpenedMinappsInSidebar] = usePreference('feature.minapp.show_opened_in_sidebar') const { theme } = useTheme() const { t } = useTranslation() const [keepAliveMinapps, setKeepAliveMinapps] = useState(openedKeepAliveMinapps) @@ -112,7 +112,7 @@ export const TopNavbarOpenedMinappTabs: FC = () => { export const SidebarOpenedMinappTabs: FC = () => { const { minappShow, openedKeepAliveMinapps, currentMinappId } = useRuntime() const { openMinappKeepAlive, hideMinappPopup, closeMinapp, closeAllMinapps } = useMinappPopup() - const { showOpenedMinappsInSidebar } = useSettings() // 获取控制显示的设置 + const [showOpenedMinappsInSidebar] = usePreference('feature.minapp.show_opened_in_sidebar') const { theme } = useTheme() const { t } = useTranslation() const { isLeftNavbar } = useNavbarPosition() diff --git a/src/renderer/src/hooks/useMinappPopup.ts b/src/renderer/src/hooks/useMinappPopup.ts index 0ae339f6dc..c46bea7ee6 100644 --- a/src/renderer/src/hooks/useMinappPopup.ts +++ b/src/renderer/src/hooks/useMinappPopup.ts @@ -1,6 +1,6 @@ +import { usePreference } from '@data/hooks/usePreference' import { DEFAULT_MIN_APPS } from '@renderer/config/minapps' import { useRuntime } from '@renderer/hooks/useRuntime' -import { useSettings } from '@renderer/hooks/useSettings' // 使用设置中的值 import { useAppDispatch } from '@renderer/store' import { setCurrentMinappId, @@ -31,7 +31,7 @@ let minAppsCache: LRUCache export const useMinappPopup = () => { const dispatch = useAppDispatch() const { openedKeepAliveMinapps, openedOneOffMinapp, minappShow } = useRuntime() - const { maxKeepAliveMinapps } = useSettings() // 使用设置中的值 + const [maxKeepAliveMinapps] = usePreference('feature.minapp.max_keep_alive') const createLRUCache = useCallback(() => { return new LRUCache({