From ba3f840a28fe2c6ca40c558305814d29c233d6e0 Mon Sep 17 00:00:00 2001 From: Caleb Allen Date: Sat, 14 Mar 2026 12:11:12 -0400 Subject: [PATCH] fix(12-02): move scan buttons above library list, default to none selected MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Scan and Full Rescan buttons now sit above the library list for easier access. Libraries start unchecked — both buttons are disabled until at least one library is selected. --- .../src/components/config-page/config-page.ts | 93 +++++++++---------- 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/frontend/src/components/config-page/config-page.ts b/frontend/src/components/config-page/config-page.ts index 828064e..296f1ee 100644 --- a/frontend/src/components/config-page/config-page.ts +++ b/frontend/src/components/config-page/config-page.ts @@ -1173,12 +1173,8 @@ export class ConfigPage extends LitElement { this.libraries = libs ?? []; this.concurrencyMode = mode; - // Auto-select all libraries on initial load so scan - // buttons default to operating on everything. - if (this.selectedLibraryIds.size === 0 && this.libraries.length > 0) { - this.selectedLibraryIds = new Set(this.libraries.map((l) => l.id)); - } else { - // Prune selections for libraries that no longer exist. + // Prune selections for libraries that no longer exist. + if (this.selectedLibraryIds.size > 0) { const validIds = new Set(this.libraries.map((l) => l.id)); const pruned = new Set([...this.selectedLibraryIds].filter((id) => validIds.has(id))); @@ -2271,6 +2267,49 @@ export class ConfigPage extends LitElement { heading="Libraries" description="Manage your music library folders. Select libraries to scan." > +
+ ${this.scanning + ? html` + ${this.scanPaused + ? html`` + : html``} + + ` + : html` + + + `} +
+ ${this.libraries.length > 0 ? html`
@@ -2395,48 +2434,6 @@ export class ConfigPage extends LitElement { @config-change=${this.handleConcurrencyChange} > -
- ${this.scanning - ? html` - ${this.scanPaused - ? html`` - : html``} - - ` - : html` - - - `} -
-