removed excess comments
This commit is contained in:
@@ -46,10 +46,8 @@ const getInitialTheme = () => {
|
||||
};
|
||||
|
||||
export const DarkModeProvider: ParentComponent = (props) => {
|
||||
// Initialize with correct theme synchronously
|
||||
const [isDark, setIsDark] = createSignal(getInitialTheme());
|
||||
|
||||
// Force update immediately on client to fix hydration mismatch
|
||||
onMount(() => {
|
||||
const actualTheme = getInitialTheme();
|
||||
if (isDark() !== actualTheme) {
|
||||
@@ -58,9 +56,7 @@ export const DarkModeProvider: ParentComponent = (props) => {
|
||||
|
||||
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
||||
|
||||
// Listen for system theme changes
|
||||
const handleChange = (e: MediaQueryListEvent) => {
|
||||
// Only update if there's no explicit override
|
||||
const storedOverride = localStorage.getItem(STORAGE_KEY);
|
||||
if (storedOverride === null) {
|
||||
setIsDark(e.matches);
|
||||
@@ -74,7 +70,6 @@ export const DarkModeProvider: ParentComponent = (props) => {
|
||||
});
|
||||
});
|
||||
|
||||
// Reactively update DOM when isDark changes
|
||||
createEffect(() => {
|
||||
if (isDark()) {
|
||||
document.documentElement.classList.add("dark");
|
||||
@@ -89,12 +84,10 @@ export const DarkModeProvider: ParentComponent = (props) => {
|
||||
const newValue = !isDark();
|
||||
setIsDark(newValue);
|
||||
|
||||
// Only persist if different from system preference
|
||||
const systemPreference = getSystemPreference();
|
||||
if (newValue !== systemPreference) {
|
||||
localStorage.setItem(STORAGE_KEY, newValue ? "dark" : "light");
|
||||
} else {
|
||||
// If matching system preference, remove override
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
}
|
||||
};
|
||||
@@ -102,12 +95,10 @@ export const DarkModeProvider: ParentComponent = (props) => {
|
||||
const setDarkMode = (dark: boolean) => {
|
||||
setIsDark(dark);
|
||||
|
||||
// Only persist if different from system preference
|
||||
const systemPreference = getSystemPreference();
|
||||
if (dark !== systemPreference) {
|
||||
localStorage.setItem(STORAGE_KEY, dark ? "dark" : "light");
|
||||
} else {
|
||||
// If matching system preference, remove override
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user