48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
window.addEventListener("DOMContentLoaded", function () {
|
|
// * SCROLL TO TOP
|
|
function handleScroll() {
|
|
const scrollTop = window.scrollY;
|
|
|
|
if (scrollTop > 0) {
|
|
document.querySelector("header")?.classList.add("sticky-bar");
|
|
document.querySelector(".pageup")?.classList.add("see");
|
|
} else {
|
|
document.querySelector("header")?.classList.remove("sticky-bar");
|
|
document.querySelector(".pageup")?.classList.remove("see");
|
|
}
|
|
}
|
|
window.addEventListener("scroll", handleScroll, { passive: true });
|
|
|
|
// * GESTION RESPONSIVE DU MENU
|
|
const toggleMenu = document.querySelector<HTMLDivElement>(".toggle-menu");
|
|
const nav = document.querySelector<HTMLElement>("nav");
|
|
const body = document.body;
|
|
|
|
toggleMenu?.addEventListener("click", () => {
|
|
toggleMenu.classList.toggle("active");
|
|
nav?.classList.toggle("active");
|
|
body.classList.toggle("mobile-nav-active");
|
|
});
|
|
|
|
// * DECONNEXION
|
|
document.getElementById("logout-form-button")?.addEventListener("click", () => {
|
|
const logoutForm = document.querySelector<HTMLFormElement>("#logout-form");
|
|
if (logoutForm) {
|
|
logoutForm.submit();
|
|
}
|
|
});
|
|
document.getElementById("logout-form-button-mobile")?.addEventListener("click", () => {
|
|
const logoutForm = document.querySelector<HTMLFormElement>("#logout-form-mobile");
|
|
if (logoutForm) {
|
|
logoutForm.submit();
|
|
}
|
|
});
|
|
|
|
// * BORDER VISIBLE SUR LE MENU AFFICHE
|
|
const menuItems = document.querySelectorAll<HTMLLIElement>("nav ul li");
|
|
menuItems.forEach((li) => {
|
|
li.addEventListener("click", () => {
|
|
li.classList.toggle("active");
|
|
});
|
|
});
|
|
});
|