Skip to content

Commit 8fb5738

Browse files
authored
Merge pull request #1994 from dscho/reset-dark-mode-preference-when-possible
dark-mode: allow following the system preference again
2 parents b520d50 + f78045c commit 8fb5738

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

assets/js/application.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,8 @@ var DarkMode = {
643643
theme = document.documentElement.dataset.theme === "dark" ? "light" : "dark"
644644
}
645645
document.documentElement.dataset.theme = theme
646-
localStorage.setItem("theme", theme);
646+
if (prefersDarkScheme === (theme === "dark")) localStorage.removeItem("theme");
647+
else localStorage.setItem("theme", theme);
647648
button.attr("src", `${baseURLPrefix}images/${theme === "dark" ? "light" : "dark"}-mode.svg`);
648649
});
649650
},

layouts/_default/baseof.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ <h1>Redirecting&hellip;</h1>
4949
if (currentTheme) {
5050
// Check dark mode preference at the OS level
5151
const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches
52-
if ((prefersDarkScheme && currentTheme === "light")
52+
if (prefersDarkScheme === (currentTheme === "dark")) localStorage.removeItem("theme")
53+
else if ((prefersDarkScheme && currentTheme === "light")
5354
|| (!prefersDarkScheme && currentTheme === "dark")) {
5455
document.documentElement.dataset.theme = currentTheme
5556
}

0 commit comments

Comments
 (0)