From 053f4aa5b83c1fa84697d977c896e6d234a084db Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 14 Nov 2023 23:03:43 +0100 Subject: [PATCH] add auto-scroll on current sidebar item --- src/core/Resources/assets/js/modules/sidebar.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core/Resources/assets/js/modules/sidebar.js b/src/core/Resources/assets/js/modules/sidebar.js index 5b2326b..fe0bf16 100644 --- a/src/core/Resources/assets/js/modules/sidebar.js +++ b/src/core/Resources/assets/js/modules/sidebar.js @@ -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