ldc-legaulois/resources/ts/fo/partials/layout.ts
2024-04-04 12:34:11 +02:00

33 lines
1.3 KiB
TypeScript

document.addEventListener("DOMContentLoaded", function () {
// * COLLAPSE INIT
const navBarCollapseDesktop = document.querySelectorAll(
"#main-nav .nav-collapse"
) as NodeListOf<HTMLDivElement>;
navBarCollapseDesktop.forEach(collapse => {
const bsCollapse = new window.bootstrap.Collapse(collapse, { toggle: false });
bsCollapse.hide();
const navLinkCollapse = document.querySelector("#main-nav .nav-link[href='#" + collapse.id + "']") as HTMLLinkElement;
navLinkCollapse.addEventListener("mouseover", () => {
bsCollapse.show();
});
navLinkCollapse.parentElement?.addEventListener("mouseleave", () => {
setTimeout(() => {
bsCollapse.hide();
}, 350);
});
});
// * COLLAPSE MOBILE
const navBarLinkMobile = document.querySelectorAll(
"#offcanvas-main-menu .nav-link"
) as NodeListOf<HTMLAnchorElement>;
navBarLinkMobile.forEach(anchor => {
anchor.classList.remove("collapsed");
});
const navBarCollapseMobile = document.querySelectorAll(
"#offcanvas-main-menu .nav-collapse"
) as NodeListOf<HTMLDivElement>;
navBarCollapseMobile.forEach(collapse => {
(new window.bootstrap.Collapse(collapse, { toggle: true })).show();
});
});