website-htmx-rustelo-code/site/assets/scripts/theme-init.js

16 lines
560 B
JavaScript
Raw Normal View History

2026-07-10 03:44:13 +01:00
// Theme initialization script to prevent flash
(function() {
const getThemeFromCookie = () => {
const matches = document.cookie.match(/theme=([^;]+)/);
return matches ? matches[1] : null;
};
const theme = getThemeFromCookie() || 'dark';
const html = document.documentElement;
if (theme === 'dark' || (theme === 'system' && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
html.classList.add('dark');
html.classList.remove('light');
} else {
html.classList.add('light');
html.classList.remove('dark');
}
})();