From 742f96bdf5c0b842e68dfaf43f4ab3446e87e3df Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Wed, 25 Aug 2021 14:54:34 +0200 Subject: Dark mode (#2081) --- .../resources/dokka/scripts/platform-content-handler.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'plugins/base/src/main/resources/dokka/scripts') diff --git a/plugins/base/src/main/resources/dokka/scripts/platform-content-handler.js b/plugins/base/src/main/resources/dokka/scripts/platform-content-handler.js index 05ec7377..ae838d6f 100644 --- a/plugins/base/src/main/resources/dokka/scripts/platform-content-handler.js +++ b/plugins/base/src/main/resources/dokka/scripts/platform-content-handler.js @@ -20,8 +20,21 @@ window.addEventListener('load', () => { handleAnchor() initHidingLeftNavigation() topNavbarOffset = document.getElementById('navigation-wrapper') + darkModeSwitch() }) +const darkModeSwitch = () => { + const localStorageKey = "dokka-dark-mode" + const storage = localStorage.getItem(localStorageKey) + const savedDarkMode = storage ? JSON.parse(storage) : false + const element = document.getElementById("theme-toggle-button") + + element.addEventListener('click', () => { + document.getElementsByTagName("html")[0].classList.toggle("theme-dark") + localStorage.setItem(localStorageKey, JSON.stringify(!savedDarkMode)) + }) +} + const initHidingLeftNavigation = () => { document.getElementById("leftToggler").onclick = function(event) { //Events need to be prevented from bubbling since they will trigger next handler -- cgit