demarches-normaliennes/app/views/layouts/_setup_theme.html.haml
Colin Darie 10f5fae316 fix(theme): don't blink theme at render with dark theme
On ne veut pas attendre la fin du render pour que le JS du DSFR
set le theme à partir du scheme, autrement on voit le thème clair
pendant le render.
2023-11-20 17:39:38 +01:00

9 lines
352 B
Text

:javascript
function setDarkBeforeRender() {
const localScheme = localStorage.getItem('scheme')
if (localScheme == 'dark' || (localScheme == 'system' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.setAttribute('data-fr-theme', 'dark');
}
}
setDarkBeforeRender();