diff --git a/_includes/disqus.html b/_includes/disqus.html
index e3b83a013..5879ac6bf 100644
--- a/_includes/disqus.html
+++ b/_includes/disqus.html
@@ -29,5 +29,26 @@
}
}, { threshold: [0] });
- disqus_observer.observe(document.querySelector("#disqus_thread"));
+ disqus_observer.observe(document.querySelector('#disqus_thread'));
+
+ /* Auto switch theme */
+
+ function reloadDisqus() {
+ /* Disqus hasn't been loaded */
+ if (typeof DISQUS === "undefined") {
+ return;
+ }
+
+ if (document.readyState == 'complete') {
+ DISQUS.reset({ reload: true, config: disqus_config });
+ }
+ }
+
+ const modeToggle = document.querySelector(".mode-toggle");
+
+ if (modeToggle !== null) {
+ modeToggle.addEventListener('click', reloadDisqus);
+ window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', reloadDisqus);
+ }
+