Skip to content

Commit b0d5956

Browse files
committed
fix(comment): disqus doesn't follow theme mode switching
1 parent e50343b commit b0d5956

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

_includes/comments/disqus.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
};
1616

1717
/* Lazy loading */
18-
1918
var disqus_observer = new IntersectionObserver(function (entries) {
2019
if(entries[0].isIntersecting) {
2120
(function () {
@@ -32,23 +31,24 @@
3231
disqus_observer.observe(document.querySelector('#disqus_thread'));
3332

3433
/* Auto switch theme */
35-
3634
function reloadDisqus() {
37-
/* Disqus hasn't been loaded */
38-
if (typeof DISQUS === "undefined") {
39-
return;
40-
}
41-
42-
if (document.readyState == 'complete') {
43-
DISQUS.reset({ reload: true, config: disqus_config });
35+
if (event.source === window && event.data &&
36+
event.data.direction === ModeToggle.ID) {
37+
/* Disqus hasn't been loaded */
38+
if (typeof DISQUS === "undefined") {
39+
return;
40+
}
41+
42+
if (document.readyState == 'complete') {
43+
DISQUS.reset({ reload: true, config: disqus_config });
44+
}
4445
}
4546
}
4647

4748
const modeToggle = document.querySelector(".mode-toggle");
4849

4950
if (typeof modeToggle !== "undefined") {
50-
/* modeToggle.addEventListener('click', reloadDisqus); // not pretty for 'color-scheme' */
51-
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', reloadDisqus);
51+
window.addEventListener("message", reloadDisqus);
5252
}
5353

5454
</script>

0 commit comments

Comments
 (0)