From 53f1b3615de490eaa6f6e249c59b133b43e08526 Mon Sep 17 00:00:00 2001 From: Brian Talbot Date: Wed, 24 Sep 2025 17:10:19 -0400 Subject: [PATCH] Docs: Update Theme Logic (#1491) * updating theme.js to handle static site theme * removing redundant theme logic from base.njk --- packages/webawesome/docs/_includes/base.njk | 15 ----------- .../webawesome/docs/assets/scripts/theme.js | 25 ++++++++++++++----- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/packages/webawesome/docs/_includes/base.njk b/packages/webawesome/docs/_includes/base.njk index 58279ae49..0426eadcd 100644 --- a/packages/webawesome/docs/_includes/base.njk +++ b/packages/webawesome/docs/_includes/base.njk @@ -25,21 +25,6 @@ const isDark = value === 'dark' || (value === 'auto' && matchMedia('(prefers-color-scheme: dark)').matches); document.documentElement.classList.toggle('wa-dark', isDark); - - {% set defaultWaPageAttributes = defaultWaPageAttributes or { view: 'desktop', 'disable-navigation-toggle': true, 'mobile-breakpoint': 1180 } %} diff --git a/packages/webawesome/docs/assets/scripts/theme.js b/packages/webawesome/docs/assets/scripts/theme.js index bb89e03d4..6f1b2fe41 100644 --- a/packages/webawesome/docs/assets/scripts/theme.js +++ b/packages/webawesome/docs/assets/scripts/theme.js @@ -35,9 +35,17 @@ async function updateTheme(value, isInitialLoad = false) { }); } - localStorage.setItem('theme', value); - localStorage.setItem('brand', brand); - localStorage.setItem('palette', palette); + // Handle site theme vs regular theme + let href = `/dist/styles/themes/${value}.css`; + + if (document.querySelector('wa-page').dataset.pageType === 'site') { + value = 'site'; + href = `/assets/styles/theme-site.css`; + } else { + localStorage.setItem('theme', value); + localStorage.setItem('brand', brand); + localStorage.setItem('palette', palette); + } // Update theme classes const htmlElement = document.documentElement; @@ -46,7 +54,6 @@ async function updateTheme(value, isInitialLoad = false) { className.startsWith('wa-theme-') || className.startsWith('wa-brand-') || className.startsWith('wa-palette-'), ); const themeStylesheet = document.getElementById('theme-stylesheet'); - const href = `/dist/styles/themes/${value}.css`; await doViewTransition(() => { // Update the theme @@ -93,5 +100,11 @@ document.addEventListener('input', event => { }); // Initialize -const savedTheme = localStorage.getItem('theme') || 'default'; -updateTheme(savedTheme, true); +function initializeTheme() { + const savedTheme = localStorage.getItem('theme') || 'default'; + updateTheme(savedTheme, true); +} + +initializeTheme(); + +document.addEventListener('turbo:render', initializeTheme);