20 lines
653 B
JavaScript
20 lines
653 B
JavaScript
/**
|
|||
|
|
* Applique le thème choisi avant le premier rendu.
|
||
|
|
*
|
||
|
|
* Le thème sombre est l'identité par défaut : on n'ajoute la classe que si le
|
||
|
|
* visiteur a explicitement demandé le clair, ou si son système le préfère sans
|
||
|
|
* qu'il ait exprimé de choix.
|
||
|
|
*/
|
||
|
|
(function () {
|
||
|
|
try {
|
||
|
|
var choix = localStorage.getItem('theme');
|
||
|
|
var systemeClair =
|
||
|
|
window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches;
|
||
|
|
if (choix === 'clair' || (choix === null && systemeClair)) {
|
||
|
|
document.documentElement.classList.add('light-theme');
|
||
|
|
}
|
||
|
|
} catch (e) {
|
||
|
|
/* stockage indisponible : on garde le thème sombre par défaut */
|
||
|
|
}
|
||
|
|
})();
|