diff --git a/src/renderer/features/artists/components/album-artist-detail-content.tsx b/src/renderer/features/artists/components/album-artist-detail-content.tsx
index 2212d7e13..f8c43b1fb 100644
--- a/src/renderer/features/artists/components/album-artist-detail-content.tsx
+++ b/src/renderer/features/artists/components/album-artist-detail-content.tsx
@@ -295,40 +295,35 @@ const AlbumArtistMetadataTopSongsContent = ({
};
}, [player]);
+ const handlePlay = useCallback(
+ (playType: Play) => {
+ if (songs.length === 0) return;
+ player.addToQueueByData(songs, playType);
+ },
+ [songs, player],
+ );
+
+ const handlePlayNext = usePlayButtonClick({
+ onClick: () => handlePlay(Play.NEXT),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.NEXT]),
+ });
+ const handlePlayNow = usePlayButtonClick({
+ onClick: () => handlePlay(Play.NOW),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.NOW]),
+ });
+ const handlePlayLast = usePlayButtonClick({
+ onClick: () => handlePlay(Play.LAST),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.LAST]),
+ });
+
if (topSongsQuery.isLoading || !topSongsQuery.data) {
return null;
}
if (!topSongsQuery?.data?.items?.length) return null;
- if (!tableConfig || columns.length === 0) {
- return (
-
-
-
- {t('page.albumArtistDetail.topSongs', {
- postProcess: 'sentenceCase',
- })}
-
-
-
-
-
-
-
- );
+ if (!tableConfig) {
+ return null;
}
const currentSongId = currentSong?.id;
@@ -337,11 +332,14 @@ const AlbumArtistMetadataTopSongsContent = ({
-
- {t('page.albumArtistDetail.topSongs', {
- postProcess: 'sentenceCase',
- })}
-
+
+
+ {t('page.albumArtistDetail.topSongs', {
+ postProcess: 'sentenceCase',
+ })}
+
+ {songs.length}
+
@@ -516,43 +548,35 @@ const AlbumArtistMetadataFavoriteSongs = ({ routeId }: AlbumArtistMetadataFavori
};
}, [player]);
+ const handlePlay = useCallback(
+ (playType: Play) => {
+ if (songs.length === 0) return;
+ player.addToQueueByData(songs, playType);
+ },
+ [songs, player],
+ );
+
+ const handlePlayNext = usePlayButtonClick({
+ onClick: () => handlePlay(Play.NEXT),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.NEXT]),
+ });
+ const handlePlayNow = usePlayButtonClick({
+ onClick: () => handlePlay(Play.NOW),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.NOW]),
+ });
+ const handlePlayLast = usePlayButtonClick({
+ onClick: () => handlePlay(Play.LAST),
+ onLongPress: () => handlePlay(LONG_PRESS_PLAY_BEHAVIOR[Play.LAST]),
+ });
+
if (favoriteSongsQuery.isLoading || !favoriteSongsQuery.data) {
return null;
}
if (!favoriteSongsQuery?.data?.items?.length) return null;
- if (!tableConfig || columns.length === 0) {
- return (
-
-
-
-
- {t('page.albumArtistDetail.favoriteSongs', {
- postProcess: 'sentenceCase',
- })}
-
- {favoriteSongsQuery.data?.items?.length}
-
-
-
-
-
-
-
- );
+ if (!tableConfig) {
+ return null;
}
const currentSongId = currentSong?.id;
@@ -584,6 +608,40 @@ const AlbumArtistMetadataFavoriteSongs = ({ routeId }: AlbumArtistMetadataFavori
postProcess: 'sentenceCase',
})}
+ {songs.length > 0 && (
+
+
+
+
+
+
+
+
+
+
+
+ )}