add auto-scroll on current sidebar item

This commit is contained in:
Simon Vieille 2023-11-14 23:03:43 +01:00
parent 79754d45c1
commit 053f4aa5b8
Signed by: deblan
GPG key ID: 579388D585F70417

View file

@ -8,14 +8,24 @@ const Sidebar = () => {
}
const stickyMenu = menu.querySelector('.sidebar-sticky')
const items = stickyMenu.querySelectorAll('a.nav-link')
const currentItem = menu.querySelector('.nav-link.active')
items.forEach((item) => {
item.addEventListener('click', () => {
localStorage.setItem('sidebar-item-top', stickyMenu.scrollTop)
})
})
const toggler = menu.querySelector('.sidebar-toggler .btn')
toggler.addEventListener('click', () => {
menu.classList.toggle('is-open')
})
stickyMenu.scroll({top: currentItem.offsetTop - menu.scrollTop})
if (currentItem) {
stickyMenu.scroll({top: localStorage.getItem('sidebar-item-top') ?? 0})
}
}
module.exports = Sidebar