add base styles and scripts

This commit is contained in:
2025-09-04 22:41:59 +01:00
parent a665235b9f
commit 5ed57ac818
43 changed files with 1554 additions and 13 deletions

View File

@@ -0,0 +1,17 @@
export default function Footer() {
const body = document.querySelector("body");
const footer = document.querySelector(".js-footer");
const links = footer.querySelectorAll("a");
const currentURL = location.protocol + '//' + location.host + location.pathname;
links.forEach(link => {
const hash = link.hash;
const href = link.href;
link.addEventListener("click", () => {
if(href.includes(currentURL)) {
body.classList.remove("menu-open");
}
});
});
}

View File

@@ -0,0 +1,55 @@
export default function Header() {
const body = document.querySelector("body");
const wrapper = document.querySelector(".wrapper");
const menuToggle = document.querySelector(".js-menu-toggle");
const menuClose = document.querySelector(".js-menu-close");
menuToggle.addEventListener("click", (e) => {
e.preventDefault();
body.classList.toggle("menu-open");
if(menuToggle.ariaExpanded == 'true') {
menuToggle.ariaExpanded = 'false';
} else {
menuToggle.ariaExpanded = 'true';
}
console.log(menuToggle.ariaExpanded);
});
menuClose.addEventListener("click", (e) => {
e.preventDefault();
body.classList.remove("menu-open");
menuToggle.ariaExpanded = 'false';
console.log(menuToggle.ariaExpanded);
});
document.addEventListener("keyup", function (event) {
if (event.key === "Escape") {
body.classList.remove("menu-open");
menuToggle.ariaExpanded = 'false';
}
});
document.addEventListener("scroll", () => {
const scrolled = document.scrollingElement.scrollTop;
const position = body.offsetTop;
const header = document.querySelector(".site-header");
if (scrolled > position + header.offsetHeight) {
body.classList.add("scrolled");
} else {
body.classList.remove("scrolled");
}
});
wrapper.addEventListener("click", (e) => {
const target = e.target;
if(!menuToggle.contains(target) && body.classList.contains("menu-open")) {
body.classList.remove("menu-open");
}
});
}