From b59c85e108a621b9061cc2c2ee83e6f9b8056c8d Mon Sep 17 00:00:00 2001 From: Eduard Prigoana Date: Tue, 3 Feb 2026 17:52:59 +0200 Subject: [PATCH] oops --- js/app.js | 7 ++++++- js/storage.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/js/app.js b/js/app.js index 6fdfd35..c50caf5 100644 --- a/js/app.js +++ b/js/app.js @@ -1,6 +1,6 @@ //js/app.js import { LosslessAPI } from './api.js'; -import { apiSettings, themeManager, nowPlayingSettings, downloadQualitySettings } from './storage.js'; +import { apiSettings, themeManager, nowPlayingSettings, downloadQualitySettings, sidebarSettings } from './storage.js'; import { UIRenderer } from './ui.js'; import { Player } from './player.js'; import { MultiScrobbler } from './multi-scrobbler.js'; @@ -313,6 +313,9 @@ document.addEventListener('DOMContentLoaded', async () => { const currentTheme = themeManager.getTheme(); themeManager.setTheme(currentTheme); + // Restore sidebar state + sidebarSettings.restoreState(); + initializeSettings(scrobbler, player, api, ui); initializePlayerEvents(player, audioPlayer, scrobbler, ui); initializeTrackInteractions( @@ -405,6 +408,8 @@ document.addEventListener('DOMContentLoaded', async () => { ? '' : ''; } + // Save sidebar state to localStorage + sidebarSettings.setCollapsed(isCollapsed); }); document.getElementById('nav-back')?.addEventListener('click', () => { diff --git a/js/storage.js b/js/storage.js index 5990ff8..9a369e1 100644 --- a/js/storage.js +++ b/js/storage.js @@ -812,6 +812,34 @@ export const equalizerSettings = { }, }; +export const sidebarSettings = { + STORAGE_KEY: 'monochrome-sidebar-collapsed', + + isCollapsed() { + try { + return localStorage.getItem(this.STORAGE_KEY) === 'true'; + } catch { + return false; + } + }, + + setCollapsed(collapsed) { + localStorage.setItem(this.STORAGE_KEY, collapsed ? 'true' : 'false'); + }, + + restoreState() { + const isCollapsed = this.isCollapsed(); + if (isCollapsed) { + document.body.classList.add('sidebar-collapsed'); + const toggleBtn = document.getElementById('sidebar-toggle'); + if (toggleBtn) { + toggleBtn.innerHTML = + ''; + } + } + }, +}; + export const queueManager = { STORAGE_KEY: 'monochrome-queue',