diff --git a/frontend/src/components/explore-album-details/explore-album-details.ts b/frontend/src/components/explore-album-details/explore-album-details.ts index 414bbbc..1de64cd 100644 --- a/frontend/src/components/explore-album-details/explore-album-details.ts +++ b/frontend/src/components/explore-album-details/explore-album-details.ts @@ -426,6 +426,14 @@ export class ExploreAlbumDetails extends LitElement { console.log(`[explore-album] hydrated from cache: "${cached.title}"`); } + // Library-only mode: no external API calls. + if (exploreSettings.libraryOnly) { + this.loadingInfo = false; + this.loadingReleases = false; + console.log(`[explore-album] loaded (library-only): "${this.albumName}"`); + return; + } + // Phase 1: API calls for full data. const [infoResult, releasesResult] = await Promise.allSettled([ this.fetchReleaseGroup(mbid), diff --git a/frontend/src/components/explore-view/explore-view.ts b/frontend/src/components/explore-view/explore-view.ts index 548a578..d17d06f 100644 --- a/frontend/src/components/explore-view/explore-view.ts +++ b/frontend/src/components/explore-view/explore-view.ts @@ -597,8 +597,12 @@ export class ExploreView extends LitElement { localResults.artists || [], localResults.releaseGroups || [], ); - this.loadThumbnails(); - this.loadArtistImages(); + // In library-only mode, local results already have cover art + // and artist images from the library store — no API calls needed. + if (!exploreSettings.libraryOnly) { + this.loadThumbnails(); + this.loadArtistImages(); + } const elapsed = (performance.now() - startTime).toFixed(0); console.log( `[explore] library results: "${query}" in ${elapsed}ms — ` +