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 244ac4d..414bbbc 100644 --- a/frontend/src/components/explore-album-details/explore-album-details.ts +++ b/frontend/src/components/explore-album-details/explore-album-details.ts @@ -11,6 +11,7 @@ import type { MBTrack, } from '@go/explore/Service'; import { exploreCache } from '../../store/explore-cache'; +import { exploreSettings } from '../../store/explore-settings'; import '@awesome.me/webawesome/dist/components/icon/icon.js'; /* ── Constants ── */ @@ -385,11 +386,22 @@ export class ExploreAlbumDetails extends LitElement { /* ── Lifecycle ── */ + private unsubSettings?: () => void; + override connectedCallback() { super.connectedCallback(); if (this.releaseGroupMBID) { void this.loadAllData(); } + + this.unsubSettings = exploreSettings.subscribe(() => { + this.requestUpdate(); + }); + } + + override disconnectedCallback() { + super.disconnectedCallback(); + this.unsubSettings?.(); } /* ── Data Loading ── */ diff --git a/frontend/src/components/explore-artist-details/explore-artist-details.ts b/frontend/src/components/explore-artist-details/explore-artist-details.ts index 317ebb6..c252f89 100644 --- a/frontend/src/components/explore-artist-details/explore-artist-details.ts +++ b/frontend/src/components/explore-artist-details/explore-artist-details.ts @@ -677,11 +677,26 @@ export class ExploreArtistDetails extends LitElement { /* ── Lifecycle ── */ + private unsubSettings?: () => void; + override connectedCallback() { super.connectedCallback(); if (this.artistMBID) { void this.loadAllData(); } + + // Re-render when library-only mode toggles. + this.unsubSettings = exploreSettings.subscribe(() => { + this.requestUpdate(); + if (this.artistMBID) { + void this.loadAllData(); + } + }); + } + + override disconnectedCallback() { + super.disconnectedCallback(); + this.unsubSettings?.(); } /* ── Data Loading ── */ diff --git a/frontend/src/components/explore-view/explore-view.ts b/frontend/src/components/explore-view/explore-view.ts index ba28422..548a578 100644 --- a/frontend/src/components/explore-view/explore-view.ts +++ b/frontend/src/components/explore-view/explore-view.ts @@ -496,8 +496,23 @@ export class ExploreView extends LitElement { /* ── Lifecycle ── */ + private unsubSettings?: () => void; + + override connectedCallback() { + super.connectedCallback(); + // Re-render and re-search when library-only mode toggles. + this.unsubSettings = exploreSettings.subscribe(() => { + this.requestUpdate(); + // Re-run the current search with the new mode. + if (this.searchQuery.trim().length >= MIN_QUERY_LENGTH) { + void this.executeSearch(); + } + }); + } + override disconnectedCallback() { super.disconnectedCallback(); + this.unsubSettings?.(); if (this.debounceTimer !== null) { clearTimeout(this.debounceTimer); this.debounceTimer = null;