feat: persist FAB collapsed state across page loads

Save collapsed/expanded state to localStorage (shared key for both
main chat and DM views) so buttons stay hidden when the user
previously collapsed them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
MarekWo
2026-04-06 12:26:56 +02:00
parent fb99054e4b
commit 19b2a172c8
2 changed files with 14 additions and 0 deletions
+7
View File
@@ -3926,10 +3926,17 @@ function initializeFabToggle() {
const container = document.getElementById('fabContainer');
if (!toggle || !container) return;
// Restore collapsed state
if (localStorage.getItem('mc-webui-fab-collapsed') === '1') {
container.classList.add('collapsed');
toggle.title = 'Show buttons';
}
toggle.addEventListener('click', () => {
container.classList.toggle('collapsed');
const isCollapsed = container.classList.contains('collapsed');
toggle.title = isCollapsed ? 'Show buttons' : 'Hide buttons';
localStorage.setItem('mc-webui-fab-collapsed', isCollapsed ? '1' : '0');
});
// Drag-and-drop support
+7
View File
@@ -1783,10 +1783,17 @@ function initializeDmFabToggle() {
const container = document.getElementById('dmFabContainer');
if (!toggle || !container) return;
// Restore collapsed state (shared with main chat)
if (localStorage.getItem('mc-webui-fab-collapsed') === '1') {
container.classList.add('collapsed');
toggle.title = 'Show buttons';
}
toggle.addEventListener('click', () => {
container.classList.toggle('collapsed');
const isCollapsed = container.classList.contains('collapsed');
toggle.title = isCollapsed ? 'Show buttons' : 'Hide buttons';
localStorage.setItem('mc-webui-fab-collapsed', isCollapsed ? '1' : '0');
});
// Drag-and-drop support