fix: Refine theme initialization logic to respect saved preferences and system color scheme
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}, []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user