20 lines
661 B
JavaScript
20 lines
661 B
JavaScript
/**
|
|||
|
|
* Anti-FOUC. Fichier externe et non inline : la CSP du projet est `script-src 'self'`.
|
||
|
|
* Pose les classes d'état avant le premier rendu pour éviter le flash de thème.
|
||
|
|
*/
|
||
|
|
(function () {
|
||
|
|
var racine = document.documentElement;
|
||
|
|
racine.classList.remove('no-js');
|
||
|
|
racine.classList.add('js');
|
||
|
|
|
||
|
|
try {
|
||
|
|
var choix = localStorage.getItem('oki-theme');
|
||
|
|
if (choix === 'light') racine.classList.add('light-theme');
|
||
|
|
else if (!choix && window.matchMedia('(prefers-color-scheme: light)').matches) {
|
||
|
|
racine.classList.add('light-theme');
|
||
|
|
}
|
||
|
|
} catch (e) {
|
||
|
|
/* localStorage indisponible (navigation privée stricte) : on garde le thème sombre. */
|
||
|
|
}
|
||
|
|
})();
|