diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 5a1f50d..8310177 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "frontend", - "version": "1.3.7", + "version": "1.3.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "frontend", - "version": "1.3.7", + "version": "1.3.8", "dependencies": { "@ant-design/icons": "^5.6.1", "@dnd-kit/core": "^6.3.1", diff --git a/frontend/package.json b/frontend/package.json index 49ded53..acba1e5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "frontend", "private": true, - "version": "1.3.7", + "version": "1.3.8", "type": "module", "scripts": { "dev": "vite", diff --git a/frontend/src/theme/ThemeProvider.tsx b/frontend/src/theme/ThemeProvider.tsx index f75a719..0196287 100644 --- a/frontend/src/theme/ThemeProvider.tsx +++ b/frontend/src/theme/ThemeProvider.tsx @@ -1,6 +1,6 @@ import { ConfigProvider } from 'antd'; import zhCN from 'antd/locale/zh_CN'; -import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'; import type { PropsWithChildren } from 'react'; import { getThemeConfig, type ResolvedThemeMode } from './themeConfig'; import { ThemeModeContext } from './themeContext'; @@ -61,7 +61,7 @@ export const ThemeProvider = ({ children }: PropsWithChildren) => { const resolvedMode: ResolvedThemeMode = getResolvedMode(mode, systemMode); const themeConfig = useMemo(() => getThemeConfig(resolvedMode), [resolvedMode]); - const setMode = (nextMode: ThemeMode) => { + const setMode = useCallback((nextMode: ThemeMode) => { if (nextMode === mode) { return; } @@ -105,7 +105,7 @@ export const ThemeProvider = ({ children }: PropsWithChildren) => { root.removeAttribute('data-theme-transition'); applyMode(); } - }; + }, [mode, resolvedMode, systemMode]); useLayoutEffect(() => { if (typeof document === 'undefined') { @@ -136,7 +136,7 @@ export const ThemeProvider = ({ children }: PropsWithChildren) => { resolvedMode, setMode, }), - [mode, resolvedMode], + [mode, resolvedMode, setMode], ); return (