Files

28 lines
1.0 KiB
JavaScript
Raw Permalink Normal View History

(function() {
// Marqueur JS actif : les états initiaux cachés des animations
// (reveal, loader) ne s'appliquent que si JavaScript tourne.
document.documentElement.classList.add('js');
// Cérémonie d'entrée : première visite de la session seulement,
// jamais si l'utilisateur préfère réduire les animations.
if (!sessionStorage.getItem('oki-intro') && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.documentElement.classList.add('intro-pending');
}
// Récupérer le thème stocké ou détecter le thème système
const storedTheme = localStorage.getItem('oki-theme');
const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
let theme = storedTheme;
// Si pas de préférence stockée, utiliser le thème système
if (!storedTheme) {
theme = systemPrefersDark ? 'dark' : 'light';
}
// Appliquer le thème immédiatement
if (theme === 'light') {
document.documentElement.classList.add('light-theme');
}
})();