Skip to content

Commit 06be775

Browse files
artspbluizdepra
andauthored
Store theme only when changed from toggle (#579)
Otherwise, it never gets changed according to OS settings. Co-authored-by: Luiz F. A. de Prá <[email protected]>
1 parent 621607f commit 06be775

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

assets/js/coder.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ if (localStorage.getItem("colorscheme")) {
1313

1414
if (darkModeToggle) {
1515
darkModeToggle.addEventListener('click', () => {
16-
setTheme(body.classList.contains("colorscheme-dark") ? "light" : "dark");
16+
let theme = body.classList.contains("colorscheme-dark") ? "light" : "dark";
17+
setTheme(theme);
18+
rememberTheme(theme);
1719
});
1820
}
1921

@@ -28,8 +30,11 @@ document.addEventListener("DOMContentLoaded", function () {
2830

2931
function setTheme(theme) {
3032
body.classList.remove('colorscheme-auto');
31-
const inverse = theme === 'dark' ? 'light' : 'dark';
32-
localStorage.setItem('colorscheme', theme);
33+
let inverse = theme === 'dark' ? 'light' : 'dark';
3334
body.classList.remove('colorscheme-' + inverse);
3435
body.classList.add('colorscheme-' + theme);
3536
}
37+
38+
function rememberTheme(theme) {
39+
localStorage.setItem('colorscheme', theme);
40+
}

0 commit comments

Comments
 (0)