[FIX] Sidebar localStorage behavior

This commit is contained in:
Peter Pfeufer 2025-07-01 13:37:39 +02:00
parent 6e413772ad
commit 25c27793fe
No known key found for this signature in database

View File

@ -102,19 +102,24 @@
(() => { (() => {
// TODO Move to own JS file // TODO Move to own JS file
const sidebar = document.getElementById('sidebar'); const sidebar = document.getElementById('sidebar');
const sidebarKey = `sidebar_${sidebar.id}`;
sidebar.addEventListener('shown.bs.collapse', () => { sidebar.addEventListener('shown.bs.collapse', (event) => {
localStorage.removeItem(`sidebar_${sidebar.id}`); if (event.target.id === sidebar.id) {
localStorage.removeItem(sidebarKey);
}
}); });
sidebar.addEventListener('hidden.bs.collapse', () => { sidebar.addEventListener('hidden.bs.collapse', (event) => {
localStorage.setItem(`sidebar_${sidebar.id}`, 'closed'); if (event.target.id === sidebar.id) {
localStorage.setItem(sidebarKey, 'closed');
}
}); });
if (localStorage.getItem(`sidebar_${sidebar.id}`) === 'closed') { if (localStorage.getItem(sidebarKey) === 'closed') {
sidebar.classList.remove('show') sidebar.classList.remove('show');
} else { } else {
sidebar.classList.add("show") sidebar.classList.add('show');
} }
const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active'); const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active');
@ -133,6 +138,7 @@
</script> </script>
{% include 'bundles/jquery-js.html' %} {% include 'bundles/jquery-js.html' %}
{% theme_js %} {% theme_js %}
{% if user.is_authenticated %} {% if user.is_authenticated %}
@ -148,6 +154,7 @@
{% block extra_javascript %} {% block extra_javascript %}
{% endblock extra_javascript %} {% endblock extra_javascript %}
<script> <script>
{% block extra_script %} {% block extra_script %}
{% endblock extra_script %} {% endblock extra_script %}