diff --git a/allianceauth/framework/static/allianceauth/framework/css/auth-framework.css b/allianceauth/framework/static/allianceauth/framework/css/auth-framework.css index 39de66cb..defc5a09 100644 --- a/allianceauth/framework/static/allianceauth/framework/css/auth-framework.css +++ b/allianceauth/framework/static/allianceauth/framework/css/auth-framework.css @@ -49,14 +49,14 @@ } /* Chevron icons */ - #sidebar-menu [data-bs-toggle="collapse"] > i.fa-chevron-down, - #sidebar-menu [data-bs-toggle="collapse"].collapsed > i.fa-chevron-right { + #sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-down, + #sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="false"] > i.fa-chevron-right { display: block; width: 16px; } - #sidebar-menu [data-bs-toggle="collapse"] > i.fa-chevron-right, - #sidebar-menu [data-bs-toggle="collapse"].collapsed > i.fa-chevron-down { + #sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-right, + #sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="false"] > i.fa-chevron-down { display: none; } } diff --git a/allianceauth/menu/templates/menu/menu-item-bs5.html b/allianceauth/menu/templates/menu/menu-item-bs5.html index 80d48384..82edd7d3 100644 --- a/allianceauth/menu/templates/menu/menu-item-bs5.html +++ b/allianceauth/menu/templates/menu/menu-item-bs5.html @@ -11,8 +11,8 @@ data-bs-target="#{{ item.html_id }}" aria-expanded="false" aria-controls="" - {% endif %}> - + {% endif %} + > { - localStorage.removeItem('sidebar_' + sidebar.id); + localStorage.removeItem(`sidebar_${sidebar.id}`); }); sidebar.addEventListener('hidden.bs.collapse', () => { - localStorage.setItem('sidebar_' + sidebar.id, 'closed'); + localStorage.setItem(`sidebar_${sidebar.id}`, 'closed'); }); - if (localStorage.getItem('sidebar_' + sidebar.id) === 'closed') { + if (localStorage.getItem(`sidebar_${sidebar.id}`) === 'closed') { sidebar.classList.remove('show') } else { sidebar.classList.add("show") } const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active'); + if (activeChildMenuItem) { - activeChildMenuItem.parentElement.parentElement.classList.add('show'); + const activeChildMenuUl = activeChildMenuItem.parentElement.parentElement; + const elementsToToggle = document.querySelectorAll(`[data-bs-target^="#${activeChildMenuUl.id}"]`); + + activeChildMenuUl.classList.add('show'); + + elementsToToggle.forEach((element) => { + element.setAttribute('aria-expanded', true); + }); } })();