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