summaryrefslogtreecommitdiff
path: root/app.js
blob: ef71b3b049dd402b069065afa45650e904c3b85e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
console.log('Hello from app.js!');

const setStyleVariable = function(styleVariable, styleValue) {
	document.documentElement.style.setProperty(styleVariable, styleValue);
};

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);
		initValue = Number(initValue);
	};

	const inputObject = document.getElementById(styleVariable);
	if (inputObject) {
		if (inputObject.type == 'checkbox') {
			inputObject.addEventListener('change', toggleTheme);
			inputObject.checked = initValue
		};
	};
};

initInput('--dark-theme-check');