import { Suspense } from 'react'; import { Flex, Text } from '@chakra-ui/react'; import { LuMusic2, LuPlay } from 'react-icons/lu'; import { Track } from '@/back-api'; import { Covers } from '@/components/Cover'; import { ContextMenu, MenuElement } from '@/components/contextMenu/ContextMenu'; import { useActivePlaylistService } from '@/service/ActivePlaylist'; import { useSpecificAlbum } from '@/service/Album'; import { useSpecificArtists } from '@/service/Artist'; import { useSpecificGender } from '@/service/Gender'; export type DisplayTrackProps = { track: Track; onClick?: () => void; contextMenu?: MenuElement[]; }; export const DisplayTrackFull = ({ track, onClick, contextMenu, }: DisplayTrackProps) => { const { trackActive } = useActivePlaylistService(); const { dataAlbum } = useSpecificAlbum(track?.albumId); const { dataGender } = useSpecificGender(track?.genderId); const { dataArtists } = useSpecificArtists(track?.artists); return ( : } onClick={onClick} /> {track.name} {track.track && ` [${track.track}]`} {dataAlbum && ( Album: {dataAlbum.name} )} {dataArtists && ( Artist(s): {dataArtists.map((data) => data.name).join(', ')} )} {dataGender && ( Gender: {dataGender.name} )} ); };