From 1de77ec13285f254e68cdb53eccfdddfdc0e216f Mon Sep 17 00:00:00 2001 From: vicrodh <103399283+vicrodh@users.noreply.github.com> Date: Sun, 25 Jan 2026 03:38:35 -0600 Subject: [PATCH] feat(credits): enable track info for all Qobuz tracks + add artist link - Add onTrackShowInfo to HomeView (Continue Listening tracks) - Add onShowInfo to VirtualizedTrackList (for FavoritesView) - Add onTrackShowInfo to FavoritesView and wire to VirtualizedTrackList - Pass showTrackInfo to HomeView and FavoritesView in +page.svelte - Add clickable artist name to TrackInfoModal header - Artist link navigates to artist page and closes modal --- src/lib/components/TrackInfoModal.svelte | 42 ++++++++++++++++++- .../components/VirtualizedTrackList.svelte | 3 ++ src/lib/components/views/FavoritesView.svelte | 3 ++ src/lib/components/views/HomeView.svelte | 3 ++ src/routes/+page.svelte | 3 ++ 5 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/lib/components/TrackInfoModal.svelte b/src/lib/components/TrackInfoModal.svelte index 82966c1fd..032f6ab64 100644 --- a/src/lib/components/TrackInfoModal.svelte +++ b/src/lib/components/TrackInfoModal.svelte @@ -7,9 +7,10 @@ isOpen: boolean; trackId: number | null; onClose: () => void; + onArtistClick?: (artistId: number) => void; } - let { isOpen, trackId, onClose }: Props = $props(); + let { isOpen, trackId, onClose, onArtistClick }: Props = $props(); let loading = $state(false); let error = $state(null); @@ -145,6 +146,22 @@ {#if trackInfo.track.album?.title} {trackInfo.track.album.title} {/if} + {#if trackInfo.track.performer?.name} + {@const artistId = trackInfo.track.performer.id} + {#if artistId && onArtistClick} + + {:else} + {trackInfo.track.performer.name} + {/if} + {/if}