From dcaf806190efe1dde3d8392292555b76ace07bdb Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Mar 2025 18:44:47 +0000
Subject: [PATCH] feat: support non-singleton darkmode

---
 quartz/components/scripts/darkmode.inline.ts |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/quartz/components/scripts/darkmode.inline.ts b/quartz/components/scripts/darkmode.inline.ts
index 56009a3..871eb24 100644
--- a/quartz/components/scripts/darkmode.inline.ts
+++ b/quartz/components/scripts/darkmode.inline.ts
@@ -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)

--
Gitblit v1.10.0