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:
1 parent
ee8978819c
commit
c7fdc52741
2 files changed
+29
-1
No files matched your search
@@ -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}
|
||||
|
||||
@@ -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}
|
||||
/>
|
||||
|
||||
Reference in new issue
Block a user