Expand HomeView context menu from 1 to 8 actions

HomeView 'Continue Listening' tracks now have complete context menu:
- onPlayNow ✓
- onPlayNext ✓ (NEW)
- onPlayLater ✓ (NEW)
- onAddToPlaylist ✓ (NEW)
- onShareQobuz ✓ (NEW)
- onShareSonglink ✓ (NEW)
- onGoToAlbum ✓ (NEW)
- onGoToArtist ✓ (NEW)

This matches the complete context menu available in AlbumDetailView,
FavoritesView, and other Qobuz track displays.

Files modified:
- src/lib/components/views/HomeView.svelte - Added track action props
- src/routes/+page.svelte - Passed track action handlers to HomeView
This commit is contained in:
vicrodh committed 2026-01-19 20:52:07 -06:00
1 parent ee8978819c
commit c7fdc52741
2 files changed
+29 -1

No files matched your search

+22 -1
View File
@@ -61,6 +61,13 @@
downloadStateVersion?: number;
onArtistClick?: (artistId: number) => void;
onTrackPlay?: (track: DisplayTrack) => void;
onTrackPlayNext?: (track: DisplayTrack) => void;
onTrackPlayLater?: (track: DisplayTrack) => void;
onTrackAddToPlaylist?: (trackId: number) => void;
onTrackShareQobuz?: (trackId: number) => void;
onTrackShareSonglink?: (track: DisplayTrack) => void;
onTrackGoToAlbum?: (albumId: string) => void;
onTrackGoToArtist?: (artistId: number) => void;
activeTrackId?: number | null;
isPlaybackActive?: boolean;
}
@@ -80,6 +87,13 @@
downloadStateVersion,
onArtistClick,
onTrackPlay,
onTrackPlayNext,
onTrackPlayLater,
onTrackAddToPlaylist,
onTrackShareQobuz,
onTrackShareSonglink,
onTrackGoToAlbum,
onTrackGoToArtist,
activeTrackId = null,
isPlaybackActive = false
}: Props = $props();
@@ -795,7 +809,14 @@
onAlbumClick={track.albumId && onAlbumClick ? () => onAlbumClick(track.albumId!) : undefined}
onPlay={() => handleContinueTrackPlay(track, index)}
menuActions={{
onPlayNow: () => handleContinueTrackPlay(track, index)
onPlayNow: () => handleContinueTrackPlay(track, index),
onPlayNext: onTrackPlayNext ? () => onTrackPlayNext(track) : undefined,
onPlayLater: onTrackPlayLater ? () => onTrackPlayLater(track) : undefined,
onAddToPlaylist: onTrackAddToPlaylist ? () => onTrackAddToPlaylist(track.id) : undefined,
onShareQobuz: onTrackShareQobuz ? () => onTrackShareQobuz(track.id) : undefined,
onShareSonglink: onTrackShareSonglink ? () => onTrackShareSonglink(track) : undefined,
onGoToAlbum: track.albumId && onTrackGoToAlbum ? () => onTrackGoToAlbum(track.albumId!) : undefined,
onGoToArtist: track.artistId && onTrackGoToArtist ? () => onTrackGoToArtist(track.artistId!) : undefined
}}
/>
{/each}
+7
View File
@@ -2075,6 +2075,13 @@
{downloadStateVersion}
onArtistClick={handleArtistClick}
onTrackPlay={handleDisplayTrackPlay}
onTrackPlayNext={queueQobuzTrackNext}
onTrackPlayLater={queueQobuzTrackLater}
onTrackAddToPlaylist={(trackId) => openAddToPlaylist([trackId])}
onTrackShareQobuz={shareQobuzTrackLink}
onTrackShareSonglink={(track) => shareSonglinkTrack(track.id, track.isrc)}
onTrackGoToAlbum={handleAlbumClick}
onTrackGoToArtist={handleArtistClick}
activeTrackId={currentTrack?.id ?? null}
isPlaybackActive={isPlaying}
/>