filterleiste: zustand (offen/zu) persistent via localStorage

This commit is contained in:
Hermes Agent
2026-06-17 23:42:37 +02:00
parent 17209b5d0e
commit 0f04231cee
+13 -1
View File
@@ -2105,10 +2105,22 @@ def public_frontend():
var btn = document.getElementById('filterToggle');
var bar = document.getElementById('filterBar');
if (btn && bar) {
var openSVG = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;"><polyline points="18 15 12 9 6 15"/></svg>';
var closedSVG = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;"><polyline points="6 9 12 15 18 9"/></svg>';
// Restore saved state
var saved = localStorage.getItem('filterOpen');
if (saved === 'true') {
bar.classList.remove('filter-collapsed');
btn.innerHTML = openSVG;
btn.classList.add('active');
}
btn.addEventListener('click', function() {
var hidden = bar.classList.toggle('filter-collapsed');
btn.innerHTML = hidden ? '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;"><polyline points="6 9 12 15 18 9"/></svg>' : '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" style="vertical-align:middle;"><polyline points="18 15 12 9 6 15"/></svg>';
btn.innerHTML = hidden ? closedSVG : openSVG;
btn.classList.toggle('active', !hidden);
localStorage.setItem('filterOpen', hidden ? 'false' : 'true');
});
}
})();