revuo-weekly/js/main.js

83 lines
2.4 KiB
JavaScript
Raw Normal View History

var normal = document.getElementById("nav-menu");
var reverse = document.getElementById("nav-menu-left");
var icon = normal !== null ? normal : reverse;
2022-03-30 15:21:26 +00:00
2022-04-11 15:09:33 +00:00
const toggleSwitches = document.querySelectorAll('.switch input[type="checkbox"]');
2022-03-30 15:21:26 +00:00
const currentTheme = localStorage.getItem('theme');
if (currentTheme) {
2022-04-02 09:27:36 +00:00
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
2022-04-11 15:09:33 +00:00
toggleSwitches.forEach(s => s.checked = true);
} else {
toggleSwitches.forEach(s => s.checked = false);
2022-04-02 09:27:36 +00:00
}
2022-03-30 15:21:26 +00:00
}
function switchTheme(e) {
2022-04-02 09:27:36 +00:00
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
2022-04-11 15:09:33 +00:00
toggleSwitches.forEach(s => s.checked = true);
2022-04-02 09:27:36 +00:00
} else {
2022-04-02 09:21:09 +00:00
document.documentElement.setAttribute('data-theme', 'light');
2022-04-02 09:27:36 +00:00
localStorage.setItem('theme', 'light');
2022-04-11 15:09:33 +00:00
toggleSwitches.forEach(s => s.checked = false);
2022-04-02 09:27:36 +00:00
}
2022-03-30 15:21:26 +00:00
}
2022-04-11 15:09:33 +00:00
toggleSwitches.forEach((s) => s.addEventListener('change', switchTheme, false));
2022-03-30 15:21:26 +00:00
//const currentTheme = localStorage.getItem("theme");
//const btn = document.querySelector("switch");
//const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)");
// Toggle the "menu-open" % "menu-opn-left" classes
function toggle() {
var navRight = document.getElementById("nav");
var navLeft = document.getElementById("nav-left");
var nav = navRight !== null ? navRight : navLeft;
var button = document.getElementById("menu");
var site = document.getElementById("wrap");
if (nav.className == "menu-open" || nav.className == "menu-open-left") {
nav.className = "";
button.className = "";
site.className = "";
} else if (reverse !== null) {
nav.className += "menu-open-left";
button.className += "btn-close";
site.className += "fixed";
} else {
nav.className += "menu-open";
button.className += "btn-close";
site.className += "fixed";
}
}
// Ensures backward compatibility with IE old versions
function menuClick() {
if (document.addEventListener && icon !== null) {
icon.addEventListener('click', toggle);
} else if (document.attachEvent && icon !== null) {
icon.attachEvent('onclick', toggle);
} else {
return;
}
}
2022-03-30 15:21:26 +00:00
//function toggledark(checkbox) {
//var elementb = document.body;
//var elementh = document.html;
//elementh.classList.toggle("dark-theme");
//elementb.classList.toggle("dark-theme");
//}
menuClick();