index-main/assets/js/panel.js

60 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2026-01-25 19:40:55 +01:00
export function panelToggle(responsiveSmall) {
2026-01-23 17:38:08 +01:00
const toggleBtn = document.querySelector('#toggle-panel');
2026-01-25 19:40:55 +01:00
const toggleBtnMobile = document.querySelector('#toggle-panel__mobile');
const main = document.querySelector('main');
const closeBtn = document.querySelector('.panel-left .panel__header');
function openPanel() {
main.classList.add('panel-open');
const screenWidth = window.innerWidth;
if (screenWidth <= responsiveSmall) {
console.log("small screen");
document.body.style.overflowY = 'hidden';
}
}
function closePanel() {
main.classList.remove('panel-open');
main.classList.add('panel-close');
document.body.style.overflowY = '';
}
2026-01-23 17:38:08 +01:00
if (toggleBtn) {
2026-01-25 19:40:55 +01:00
toggleBtn.addEventListener('click', (e) => {
e.stopPropagation();
openPanel();
});
}
2026-01-23 17:38:08 +01:00
2026-01-25 19:40:55 +01:00
if (toggleBtnMobile) {
toggleBtnMobile.addEventListener('click', (e) => {
e.stopPropagation();
openPanel();
2026-01-23 17:38:08 +01:00
});
2026-01-25 19:40:55 +01:00
}
2026-01-23 17:38:08 +01:00
2026-01-25 19:40:55 +01:00
if (closeBtn) {
closeBtn.addEventListener('click', closePanel);
}
}
export function tocMobile(responsiveSmall) {
const toc = document.querySelector('#toc');
const main = document.querySelector('main');
if (!toc) return;
const tocLinks = toc.querySelectorAll('a');
tocLinks.forEach(link => {
link.addEventListener('click', () => {
if (window.innerWidth <= responsiveSmall) {
2026-01-23 17:38:08 +01:00
main.classList.remove('panel-open');
main.classList.add('panel-close');
2026-01-25 19:40:55 +01:00
document.body.style.overflowY = '';
}
});
});
2026-01-23 17:38:08 +01:00
}