Clean up the dark mode script block
This commit is contained in:
parent
b6a9e36cb9
commit
265734bfe1
1 changed files with 10 additions and 10 deletions
|
@ -4,23 +4,23 @@
|
||||||
|
|
||||||
<body class="not-ready" data-menu="{{ isset site.Menus `main` }}">
|
<body class="not-ready" data-menu="{{ isset site.Menus `main` }}">
|
||||||
{{ partial "header.html" . }}
|
{{ partial "header.html" . }}
|
||||||
|
<main class="main">
|
||||||
<main class="main">{{ block "main" . }}{{ end }}</main>
|
{{ block "main" . }}{{ end }}
|
||||||
|
</main>
|
||||||
{{ partial "footer.html" . }}
|
{{ partial "footer.html" . }}
|
||||||
</body>
|
</body>
|
||||||
<script>
|
<script>
|
||||||
let bodyClx = document.body.classList;
|
let bodyClasses = document.body.classList;
|
||||||
let sysDark = window.matchMedia('(prefers-color-scheme: dark)');
|
let systemDarkModeMatch = window.matchMedia('(prefers-color-scheme: dark)');
|
||||||
let darkVal = localStorage.getItem('dark');
|
let localStorageDarkMode = localStorage.getItem('dark');
|
||||||
|
|
||||||
let setDark = (isDark) => {
|
let setDark = (isDark) => {
|
||||||
bodyClx[isDark ? 'add' : 'remove']('dark');
|
bodyClasses[isDark ? 'add' : 'remove']('dark');
|
||||||
localStorage.setItem('dark', isDark ? 'yes' : 'no');
|
localStorage.setItem('dark', isDark ? 'yes' : 'no');
|
||||||
};
|
};
|
||||||
|
|
||||||
setDark(darkVal ? darkVal === 'yes' : sysDark.matches);
|
setDark(localStorageDarkMode ? localStorageDarkMode === 'yes' : systemDarkModeMatch.matches);
|
||||||
requestAnimationFrame(() => bodyClx.remove('not-ready'));
|
requestAnimationFrame(() => bodyClasses.remove('not-ready'));
|
||||||
sysDark.addEventListener('change', (event) => setDark(event.matches));
|
systemDarkModeMatch.addEventListener('change', (event) => setDark(event.matches));
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue