const initTheme = () => {
	const curTheme = localStorage.getItem("theme")
	const oldTheme = curTheme	== "dark" ? "light" : "dark"
	document.body.classList.add(`${curTheme}-theme`)
	document.body.classList.remove(`${oldTheme}-theme`)
}
if (localStorage.getItem("theme") === null) {
	localStorage.setItem("theme", window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light")
}
initTheme()
const toggleTheme = ev => {
	localStorage.setItem("theme", localStorage.getItem("theme") == "dark" ? "light" : "dark")
	initTheme()
	if (!!ev.target) ev.preventDefault()
	return false
}
document.querySelectorAll(".theme-toggler").forEach(a => a.addEventListener("click", toggleTheme))
document.querySelectorAll(".js-only").forEach(a => a.classList.remove("js-only"))
document.querySelectorAll(".js-disabled-only").forEach(a => a.remove())

const initAlign = () => {
	const cur = localStorage.getItem("align")
	const prev = cur == "center" ? "left" : "center"
	document.body.classList.add("align-" + cur)
	document.body.classList.remove("align-" + prev)
}
if (localStorage.getItem("align") === null) localStorage.setItem("align", "center")
initAlign()
const toggleAlign = ev => {
	localStorage.setItem("align", localStorage.getItem("align") == "center" ? "left" : "center")
	initAlign()
	if (!!ev.target) ev.preventDefault()
	return false
}
document.querySelectorAll(".align-toggler").forEach(a => a.addEventListener("click", toggleAlign))
