From c20033e8eaf2e9e6b1b9d16aade2a9fe3c858fd7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 23 Jan 2021 13:56:12 +0100 Subject: [PATCH] Fix fluff up --- src/newsreader/js/lib/theme.js | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/newsreader/js/lib/theme.js b/src/newsreader/js/lib/theme.js index 7ece9a3..b48b10c 100644 --- a/src/newsreader/js/lib/theme.js +++ b/src/newsreader/js/lib/theme.js @@ -3,16 +3,16 @@ function isCSSVariablesSupported() { } function changeTheme(e) { - const isDark = sessionStorage.getItem('t-dark') ? true : false; + const currentPref = sessionStorage.getItem('t-dark'); + const isDark = currentPref && currentPref === 'true' ? true : false; if (isDark) { - document.documentElement.classList.add('js-t-dark'); - } else { document.documentElement.classList.remove('js-t-dark'); + } else { + document.documentElement.classList.add('js-t-dark'); } try { - console.log(`Setting storage to ${!isDark}`); sessionStorage.setItem('t-dark', !isDark); } catch (e) { // do nothing. @@ -23,17 +23,14 @@ function prefersDarkTheme() { try { const currentPref = sessionStorage.getItem('t-dark'); - if (currentPref === 'true') { - console.log('Current pref set'); + if (currentPref && currentPref === 'true') { return true; } else if ( !currentPref && window.matchMedia('(prefers-color-scheme: dark)').matches ) { - console.log('Media query matches'); return true; } else { - console.log('Does not prefersDarkTheme'); return false; } } catch (e) { @@ -41,15 +38,15 @@ function prefersDarkTheme() { } } -function toggleDarkTheme(dark) { - if (dark) { +function toggleDarkTheme(isDark) { + if (isDark) { document.documentElement.classList.add('js-t-dark'); } else { document.documentElement.classList.remove('js-t-dark'); } try { - sessionStorage.setItem('t-dark', dark); + sessionStorage.setItem('t-dark', isDark); } catch (e) { // do nothing. } @@ -60,7 +57,6 @@ function initThemeSelector() { const mqPrefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)'); if (prefersDarkTheme()) { - console.log('Prefers dark theme'); toggleDarkTheme(true); }