From 6ffde20364ce3b56c0f4bacdc440a646a8af4cc0 Mon Sep 17 00:00:00 2001 From: TinWoodman92 Date: Fri, 15 Dec 2023 18:55:05 -0600 Subject: added dark mode toggle --- app.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'app.js') diff --git a/app.js b/app.js index 55c26c7..122cad7 100644 --- a/app.js +++ b/app.js @@ -1 +1,26 @@ -console.log('Hello from app.js!'); \ No newline at end of file +console.log('Hello from app.js!'); + +const toggleTheme = function() { + document.documentElement.style.setProperty(this.id, Number(this.checked)); + localStorage.setItem(this.id, Number(this.checked)); +}; + +const initInput = function(styleVariable=null) { + let initValue = localStorage.getItem(styleVariable); + if (initValue) { + initValue = Number(initValue); + document.documentElement.style.setProperty(styleVariable, initValue); + } else { + initValue = getComputedStyle(document.body).getPropertyValue(styleVariable); + }; + + const inputObject = document.getElementById(styleVariable); + if (inputObject) { + inputObject.addEventListener('change', toggleTheme); + if (inputObject.type == 'checkbox') { + inputObject.checked = initValue + }; + }; +}; + +initInput('--dark-theme-check'); -- cgit v1.2.3