import { RiAddBoxFill, RiAddCircleFill, RiMoreFill, RiPlayFill } from 'react-icons/ri'; import { QueueSong } from '/@/renderer/api/types'; import { Button, DropdownMenu, PageHeader, SpinnerIcon, Paper } from '/@/renderer/components'; import { usePlayQueueAdd } from '/@/renderer/features/player'; import { LibraryHeaderBar } from '/@/renderer/features/shared'; import { usePlayButtonBehavior } from '/@/renderer/store/settings.store'; import { Play } from '/@/renderer/types'; interface AlbumArtistDetailTopSongsListHeaderProps { data: QueueSong[]; itemCount?: number; title: string; } export const AlbumArtistDetailTopSongsListHeader = ({ title, itemCount, data, }: AlbumArtistDetailTopSongsListHeaderProps) => { const handlePlayQueueAdd = usePlayQueueAdd(); const playButtonBehavior = usePlayButtonBehavior(); const handlePlay = async (playType: Play) => { handlePlayQueueAdd?.({ byData: data, playType, }); }; return ( handlePlay(playButtonBehavior)} /> Top songs from {title} {itemCount === null || itemCount === undefined ? : itemCount} } onClick={() => handlePlay(Play.NOW)} > Play } onClick={() => handlePlay(Play.LAST)} > Add to queue } onClick={() => handlePlay(Play.NEXT)} > Add to queue next ); };