/* eslint-disable */ // Insert this script in your index.html right after the tag. // This will help to prevent a flash if dark mode is the default. ;(function () { // Change these if you use something different in your hook. var storageKey = 'darkMode' var classNameDark = 'dark-mode' var classNameLight = 'light-mode' function setClassOnDocumentBody(darkMode) { document.body.classList.add(darkMode ? classNameDark : classNameLight) document.body.classList.remove(darkMode ? classNameLight : classNameDark) } var preferDarkQuery = '(prefers-color-scheme: dark)' var mql = window.matchMedia(preferDarkQuery) var supportsColorSchemeQuery = mql.media === preferDarkQuery var localStorageTheme = null try { localStorageTheme = localStorage.getItem(storageKey) } catch (err) {} var localStorageExists = localStorageTheme !== null if (localStorageExists) { localStorageTheme = JSON.parse(localStorageTheme) } // Determine the source of truth if (localStorageExists) { // source of truth from localStorage setClassOnDocumentBody(localStorageTheme) } else if (supportsColorSchemeQuery) { // source of truth from system setClassOnDocumentBody(mql.matches) localStorage.setItem(storageKey, mql.matches) } else { // source of truth from document.body var isDarkMode = document.body.classList.contains(classNameDark) localStorage.setItem(storageKey, JSON.stringify(isDarkMode)) } })()