diff --git a/wowchemy/assets/js/wowchemy-theming.js b/wowchemy/assets/js/wowchemy-theming.js index d2f95e52..a08608f4 100644 --- a/wowchemy/assets/js/wowchemy-theming.js +++ b/wowchemy/assets/js/wowchemy-theming.js @@ -23,14 +23,18 @@ function canChangeTheme() { // flashing between the default theme mode and the user's choice. function initThemeVariation() { if (!canChangeTheme()) { + console.debug('User theming disabled.'); return { isDarkTheme: window.wc.isSiteThemeDark, themeMode: window.wc.isSiteThemeDark ? 1 : 0, }; } - let currentThemeMode = getThemeMode(); + console.debug('User theming enabled.'); + let isDarkTheme; + let currentThemeMode = getThemeMode(); + console.debug(`User's theme variation: ${currentThemeMode}`) switch (currentThemeMode) { case 0: @@ -44,7 +48,7 @@ function initThemeVariation() { // The visitor prefers dark themes and switching to the dark variation is allowed by admin. isDarkTheme = true; } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { - // The visitor prefers light themes and switching to the dark variation is allowed by admin. + // The visitor prefers light themes and switching to the light variation is allowed by admin. isDarkTheme = false; } else { // Use the site's default theme variation based on `light` in the theme file. @@ -56,7 +60,7 @@ function initThemeVariation() { if (isDarkTheme && !body.classList.contains('dark')) { console.debug('Applying Wowchemy dark theme'); document.body.classList.add("dark"); - } else if (body.classList.contains('dark')) { + } else if (!isDarkTheme && body.classList.contains('dark')) { console.debug('Applying Wowchemy light theme'); document.body.classList.remove("dark"); } @@ -69,7 +73,7 @@ function initThemeVariation() { function changeThemeModeClick(newMode) { if (!canChangeTheme()) { - console.info('Cannot set theme - admin disabled theme selector.'); + console.debug('Cannot change theme - user theming disabled.'); return; } let isDarkTheme; @@ -77,12 +81,12 @@ function changeThemeModeClick(newMode) { case 0: localStorage.setItem('wcTheme', '0'); isDarkTheme = false; - console.info('User changed theme variation to Light.'); + console.debug('User changed theme variation to Light.'); break; case 1: localStorage.setItem('wcTheme', '1'); isDarkTheme = true; - console.info('User changed theme variation to Dark.'); + console.debug('User changed theme variation to Dark.'); break; default: localStorage.setItem('wcTheme', '2'); @@ -90,13 +94,13 @@ function changeThemeModeClick(newMode) { // The visitor prefers dark themes and switching to the dark variation is allowed by admin. isDarkTheme = true; } else if (window.matchMedia('(prefers-color-scheme: light)').matches) { - // The visitor prefers light themes and switching to the dark variation is allowed by admin. + // The visitor prefers light themes and switching to the light variation is allowed by admin. isDarkTheme = false; } else { // Use the site's default theme variation based on `light` in the theme file. isDarkTheme = window.wc.isSiteThemeDark; } - console.info('User changed theme variation to Auto.'); + console.debug('User changed theme variation to Auto.'); break; } renderThemeVariation(isDarkTheme, newMode);