From 06be775947df17d812cc945bb9b6864173c2a3a5 Mon Sep 17 00:00:00 2001 From: Artem Khvastunov Date: Fri, 25 Jun 2021 20:46:44 +0200 Subject: [PATCH] Store theme only when changed from toggle (#579) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise, it never gets changed according to OS settings. Co-authored-by: Luiz F. A. de PrĂ¡ --- assets/js/coder.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/assets/js/coder.js b/assets/js/coder.js index bb7197f..d52db11 100644 --- a/assets/js/coder.js +++ b/assets/js/coder.js @@ -13,7 +13,9 @@ if (localStorage.getItem("colorscheme")) { if (darkModeToggle) { darkModeToggle.addEventListener('click', () => { - setTheme(body.classList.contains("colorscheme-dark") ? "light" : "dark"); + let theme = body.classList.contains("colorscheme-dark") ? "light" : "dark"; + setTheme(theme); + rememberTheme(theme); }); } @@ -28,8 +30,11 @@ document.addEventListener("DOMContentLoaded", function () { function setTheme(theme) { body.classList.remove('colorscheme-auto'); - const inverse = theme === 'dark' ? 'light' : 'dark'; - localStorage.setItem('colorscheme', theme); + let inverse = theme === 'dark' ? 'light' : 'dark'; body.classList.remove('colorscheme-' + inverse); body.classList.add('colorscheme-' + theme); } + +function rememberTheme(theme) { + localStorage.setItem('colorscheme', theme); +}