From f9920f6d736754372075c8f1014ab9440e333317 Mon Sep 17 00:00:00 2001
From: Brecht Savelkoul <brecht.savelkoul@alumni.lse.ac.uk>
Date: Fri, 13 Aug 2021 20:50:02 +0000
Subject: [PATCH] Execute darkmode script before first render
---
assets/darkmode.js | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/assets/darkmode.js b/assets/darkmode.js
index 93bf6da..d95a281 100644
--- a/assets/darkmode.js
+++ b/assets/darkmode.js
@@ -1,14 +1,8 @@
-// Darkmode toggle
-const toggleSwitch = document.querySelector('#darkmode-toggle')
-
const userPref = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'
const currentTheme = localStorage.getItem('theme') ?? userPref
if (currentTheme) {
document.documentElement.setAttribute('saved-theme', currentTheme);
- if (currentTheme === 'dark') {
- toggleSwitch.checked = true
- }
}
const switchTheme = (e) => {
@@ -22,5 +16,14 @@
}
}
-// listen for toggle
-toggleSwitch.addEventListener('change', switchTheme, false)
\ No newline at end of file
+window.addEventListener('DOMContentLoaded', () => {
+ // Darkmode toggle
+ const toggleSwitch = document.querySelector('#darkmode-toggle')
+
+ // listen for toggle
+ toggleSwitch.addEventListener('change', switchTheme, false)
+
+ if (currentTheme === 'dark') {
+ toggleSwitch.checked = true
+ }
+})
--
Gitblit v1.10.0