fix(theme): default to light when no preference is saved
This commit is contained in:
@@ -19,8 +19,7 @@ const themeScript = `
|
|||||||
document.documentElement.dataset.siteLoading = 'true';
|
document.documentElement.dataset.siteLoading = 'true';
|
||||||
try {
|
try {
|
||||||
const savedTheme = localStorage.getItem('portfolio-theme');
|
const savedTheme = localStorage.getItem('portfolio-theme');
|
||||||
const systemTheme = matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
document.documentElement.dataset.theme = savedTheme === 'dark' ? 'dark' : 'light';
|
||||||
document.documentElement.dataset.theme = savedTheme || systemTheme;
|
|
||||||
} catch {}
|
} catch {}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@@ -21,10 +21,7 @@ export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ childre
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const savedTheme = localStorage.getItem('portfolio-theme') as Theme | null;
|
const savedTheme = localStorage.getItem('portfolio-theme') as Theme | null;
|
||||||
const systemTheme: Theme = window.matchMedia('(prefers-color-scheme: dark)').matches
|
const initialTheme: Theme = savedTheme === 'dark' ? 'dark' : 'light';
|
||||||
? 'dark'
|
|
||||||
: 'light';
|
|
||||||
const initialTheme = savedTheme || systemTheme;
|
|
||||||
setThemeState(initialTheme);
|
setThemeState(initialTheme);
|
||||||
document.documentElement.setAttribute('data-theme', initialTheme);
|
document.documentElement.setAttribute('data-theme', initialTheme);
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
Reference in New Issue
Block a user