Jacky Zhao
2025-04-22 6dd772bf00459fe5165140e4e756e2b3096686e8
quartz/components/scripts/darkmode.inline.ts
@@ -10,7 +10,7 @@
}
document.addEventListener("nav", () => {
  const switchTheme = (e: Event) => {
  const switchTheme = () => {
    const newTheme =
      document.documentElement.getAttribute("saved-theme") === "dark" ? "light" : "dark"
    document.documentElement.setAttribute("saved-theme", newTheme)
@@ -25,12 +25,11 @@
    emitThemeChangeEvent(newTheme)
  }
  // Darkmode toggle
  const themeButton = document.querySelector("#darkmode") as HTMLButtonElement
  if (themeButton) {
    themeButton.addEventListener("click", switchTheme)
    window.addCleanup(() => themeButton.removeEventListener("click", switchTheme))
  for (const darkmodeButton of document.getElementsByClassName("darkmode")) {
    darkmodeButton.addEventListener("click", switchTheme)
    window.addCleanup(() => darkmodeButton.removeEventListener("click", switchTheme))
  }
  // Listen for changes in prefers-color-scheme
  const colorSchemeMediaQuery = window.matchMedia("(prefers-color-scheme: dark)")
  colorSchemeMediaQuery.addEventListener("change", themeChange)