zhuguifei
2025-06-17 c1cc49dd93d38f51790558541d6835d1598ecccf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const STORAGE_KEY = "__dark_mode__";
 
export function isDarkMode() {
  const darkMode = window.localStorage.getItem(STORAGE_KEY);
  if (darkMode) {
    return darkMode === "true";
  } else {
    return window.matchMedia("(prefers-color-scheme: dark)").matches;
  }
}
 
export function updateDarkMode(darkMode: boolean) {
  document.documentElement.classList.toggle("dark", darkMode);
  window.localStorage.setItem(STORAGE_KEY, darkMode ? "true" : "false");
}
 
export function initializeDarkMode() {
  const darkMode = isDarkMode();
  updateDarkMode(darkMode);
}