From 2ffd1efc61dcd259fe12d8c497a7f2e6a896854f Mon Sep 17 00:00:00 2001 From: Amirhossein Khalili Date: Thu, 12 Mar 2026 20:50:49 +0800 Subject: [PATCH] fix bug: inconsistant naming for localstorage key for theme provider --- src/components/ThemeProvider.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/ThemeProvider.tsx b/src/components/ThemeProvider.tsx index fc72b25..1e0a1d3 100644 --- a/src/components/ThemeProvider.tsx +++ b/src/components/ThemeProvider.tsx @@ -21,12 +21,16 @@ const ThemeProviderContext = createContext({ export function ThemeProvider({ children, defaultTheme = "system", - storageKey = "vite-ui-theme", + storageKey = "theme", ...props }: ThemeProviderProps) { - const [theme, setTheme] = useState( - () => (localStorage.getItem(storageKey) as Theme) || defaultTheme - ) + const [theme, setTheme] = useState(() => { + const stored = localStorage.getItem(storageKey) + if (stored === "dark" || stored === "light" || stored === "system") { + return stored + } + return defaultTheme + }) useEffect(() => { const root = window.document.documentElement