fix: Refine theme initialization logic to respect saved preferences and system color scheme

This commit is contained in:
2025-09-25 09:03:13 +02:00
parent fd87b66b06
commit 8a0baa02c3

View File

@@ -10,11 +10,14 @@ export function ThemeProvider({ children }) {
useEffect(() => {
// Check for saved theme preference or default to light mode
const savedTheme = localStorage.getItem('theme');
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (savedTheme === 'dark' || (!savedTheme && prefersDark)) {
if (savedTheme === 'dark') {
setIsDark(true);
document.documentElement.classList.add('dark');
} else {
// Always default to light mode if no preference is saved
setIsDark(false);
document.documentElement.classList.remove('dark');
}
}, []);