import { Box, Flex, Text } from '@chakra-ui/react'; import { LuDisc3, LuUser } from 'react-icons/lu'; import { useParams } from 'react-router-dom'; import { Covers } from '@/components/Cover'; import { DisplayTrack } from '@/components/DisplayTrack'; import { EmptyEnd } from '@/components/EmptyEnd'; import { PageLayout } from '@/components/Layout/PageLayout'; import { PageLayoutInfoCenter } from '@/components/Layout/PageLayoutInfoCenter'; import { TopBar } from '@/components/TopBar/TopBar'; import { useActivePlaylistService } from '@/service/ActivePlaylist'; import { useSpecificAlbum } from '@/service/Album'; import { useSpecificArtist } from '@/service/Artist'; import { useTracksOfAnAlbum } from '@/service/Track'; import { useThemeMode } from '@/utils/theme-tools'; export const ArtistAlbumDetailPage = () => { const { artistId, albumId } = useParams(); const artistIdInt = artistId ? parseInt(artistId, 10) : undefined; const albumIdInt = albumId ? parseInt(albumId, 10) : undefined; const { mode } = useThemeMode(); const { playInList } = useActivePlaylistService(); const { dataArtist } = useSpecificArtist(artistIdInt); const { dataAlbum } = useSpecificAlbum(albumIdInt); const { tracksOnAnAlbum } = useTracksOfAnAlbum(albumIdInt); const onSelectItem = (trackId: number) => { //navigate(`/artist/${artistIdInt}/album/${albumId}`); let currentPlay = 0; const listTrackId: number[] = []; if (!tracksOnAnAlbum) { console.error("Fail to get the album ..."); return; } for (let iii = 0; iii < tracksOnAnAlbum.length; iii++) { listTrackId.push(tracksOnAnAlbum[iii].id); if (tracksOnAnAlbum[iii].id === trackId) { currentPlay = iii; } } playInList(currentPlay, listTrackId); }; console.log(`dataAlbum = ${JSON.stringify(dataAlbum, null, 2)}`); if (!dataAlbum) { return ( <> Fail to load artist id: {artistId} ); } return ( <> } /> {dataArtist?.name} {dataArtist?.description && ( Description: {dataArtist?.description} )} {dataArtist?.firstName && ( first name: {dataArtist?.firstName} )} {dataArtist?.surname && surname: {dataArtist?.surname}} {dataArtist?.birth && birth: {dataArtist?.birth}} } /> {dataAlbum?.name} {dataAlbum?.description && ( Description: {dataAlbum?.description} )} {dataAlbum?.publication && ( first name: {dataAlbum?.publication} )} {tracksOnAnAlbum?.map((data) => ( onSelectItem(data.id)} > ))} ); };