hyaenidae/server/static/nav.js
asonix 5f0682ee22 Make mobile nav not require page refresh when JS enabled
Make top bar stick to top of screen
Make wide view show rows of 4
Improve notification page styles, text
Add button js to more pages
2021-01-15 22:50:15 -06:00

48 lines
1.3 KiB
JavaScript

(function(fn) {
if (document.readyState === "complete" || document.readyState === "interactive") {
setTimeout(fn, 1);
} else {
document.addEventListener("DOMContentLoaded", fn);
}
})(function() {
function onClick(nav) {
return function _listener(event) {
event.preventDefault();
var containsOpen = false;
for (var i = 0; i < nav.classList.length; i++) {
if (nav.classList[i] == "nav-open") {
containsOpen = true;
}
}
if (containsOpen) {
nav.setAttribute("class", "nav-body nav-closing");
setTimeout(function() {
nav.setAttribute("class", "nav-body nav-closed");
}, 500)
} else {
nav.setAttribute("class", "nav-body nav-open");
}
};
}
var navs = document.getElementsByClassName("nav-body");
var nav = navs[0];
if (!nav) {
return;
}
var links = document.getElementsByClassName("nav-link");
for (var i = 0; i < links.length; i++) {
var link = links[i];
if (!link) {
continue;
}
link.addEventListener("click", onClick(nav));
}
})