feat(phase35): implement context in FavoritesView

Context creation:
- Creates 'favorites' context when playing track
- Uses 'favorites' as ID and 'Favorites' as label
- Uses filteredTracks for context (respects search/filter)
- Stack icon will show "Playing from: Favorites"

Favorites view now fully integrated with context system.

cp
This commit is contained in:
vicrodh committed 2026-01-18 03:31:25 -06:00
1 parent 0bd60bbc8f
commit e3ce6a3760
1 file changed
+17
@@ -6,6 +6,7 @@
import TrackRow from '../TrackRow.svelte'; import TrackRow from '../TrackRow.svelte';
import PlaylistCollage from '../PlaylistCollage.svelte'; import PlaylistCollage from '../PlaylistCollage.svelte';
import { type DownloadStatus } from '$lib/stores/downloadState'; import { type DownloadStatus } from '$lib/stores/downloadState';
import { setPlaybackContext } from '$lib/stores/playbackContextStore';
interface FavoriteAlbum { interface FavoriteAlbum {
id: string; id: string;
@@ -592,6 +593,22 @@
} }
function handleTrackClick(track: FavoriteTrack, index: number) { function handleTrackClick(track: FavoriteTrack, index: number) {
// Create favorites context
if (filteredTracks.length > 0) {
const trackIds = filteredTracks.map(t => t.id);
setPlaybackContext(
'favorites',
'favorites',
'Favorites',
'qobuz',
trackIds,
index
);
console.log(`[Favorites] Context created: ${trackIds.length} tracks, starting at ${index}`);
}
// Play track
if (onTrackPlay) { if (onTrackPlay) {
onTrackPlay(buildDisplayTrack(track, index)); onTrackPlay(buildDisplayTrack(track, index));
} }