release nouri 0.5.1 mobile nav and header fixes
This commit is contained in:
+16
-12
@@ -1,32 +1,33 @@
|
||||
(() => {
|
||||
const initMobileSheet = () => {
|
||||
const sheet = document.querySelector("[data-mobile-sheet]");
|
||||
const backdrop = document.querySelector("[data-mobile-sheet-backdrop]");
|
||||
const navStack = document.querySelector("[data-mobile-nav-stack]");
|
||||
const openButtons = document.querySelectorAll("[data-mobile-sheet-open]");
|
||||
const closeButtons = document.querySelectorAll("[data-mobile-sheet-close]");
|
||||
if (!sheet || !backdrop || !openButtons.length) return;
|
||||
if (!sheet || !navStack || !openButtons.length) return;
|
||||
|
||||
const closeSheet = () => {
|
||||
sheet.hidden = true;
|
||||
backdrop.hidden = true;
|
||||
document.body.classList.remove("sheet-open");
|
||||
navStack.classList.remove("is-open");
|
||||
openButtons.forEach((button) => button.classList.remove("is-open"));
|
||||
};
|
||||
|
||||
const openSheet = () => {
|
||||
sheet.hidden = false;
|
||||
backdrop.hidden = false;
|
||||
document.body.classList.add("sheet-open");
|
||||
navStack.classList.add("is-open");
|
||||
openButtons.forEach((button) => button.classList.add("is-open"));
|
||||
};
|
||||
|
||||
const toggleSheet = () => {
|
||||
if (sheet.hidden) {
|
||||
openSheet();
|
||||
} else {
|
||||
closeSheet();
|
||||
}
|
||||
};
|
||||
|
||||
openButtons.forEach((button) => {
|
||||
button.addEventListener("click", openSheet);
|
||||
button.addEventListener("click", toggleSheet);
|
||||
});
|
||||
closeButtons.forEach((button) => {
|
||||
button.addEventListener("click", closeSheet);
|
||||
});
|
||||
backdrop.addEventListener("click", closeSheet);
|
||||
|
||||
document.addEventListener("keydown", (event) => {
|
||||
if (event.key === "Escape") {
|
||||
@@ -37,6 +38,9 @@
|
||||
sheet.querySelectorAll("a").forEach((link) => {
|
||||
link.addEventListener("click", closeSheet);
|
||||
});
|
||||
sheet.querySelectorAll("button[data-theme-toggle]").forEach((button) => {
|
||||
button.addEventListener("click", closeSheet);
|
||||
});
|
||||
};
|
||||
|
||||
const initFilterInputs = () => {
|
||||
|
||||
Reference in New Issue
Block a user