feat(13-02): add library filter dropdown and wire all views to respect active filter

- Add selectedLibraryId state + ByLibrary conditional calls to library-store
- Add library filter pass-through methods to library-controller
- Create library-filter dropdown component in top bar
- Wire genre-details, cover-grid, artists-view, genres-view to use ByLibrary queries
- Update album-selection helper to respect library filter
- Regenerate Wails bindings for new ByLibrary methods
- Search remains client-side (automatically filtered by loaded data)
- Playlists remain unfiltered (use separate playlist store)
This commit is contained in:
2026-03-16 09:41:27 -04:00
parent 5f7de5060a
commit 42b8cf9f52
16 changed files with 492 additions and 51 deletions
@@ -129,6 +129,22 @@ export class LibraryController implements ReactiveController {
libraryStore.setScrollPosition(view, offset);
}
// ===================================================================
// LIBRARY FILTER
// ===================================================================
get selectedLibraryId(): number | null {
return libraryStore.getSelectedLibraryId();
}
setSelectedLibrary(id: number | null): void {
libraryStore.setSelectedLibrary(id);
}
async getLibraries(): Promise<library.Info[]> {
return libraryStore.getLibraries();
}
// ===================================================================
// COVER SIZE
// ===================================================================