import { MdEdit } from 'react-icons/md'; import { Route, Routes, useNavigate, useParams } from 'react-router-dom'; import { Covers } from '@/components/Cover'; import { EmptyEnd } from '@/components/EmptyEnd'; import { PageLayout } from '@/components/Layout/PageLayout'; import { PageLayoutInfoCenter } from '@/components/Layout/PageLayoutInfoCenter'; import { BUTTON_TOP_BAR_PROPERTY, TopBar } from '@/components/TopBar/TopBar'; import { GenderEditPopUp } from '@/components/popup/GenderEditPopUp'; import { TrackEditPopUp } from '@/components/popup/TrackEditPopUp'; import { DisplayTrackFull } from '@/components/track/DisplayTrackFull'; import { useActivePlaylistService } from '@/service/ActivePlaylist'; import { useSpecificGender } from '@/service/Gender'; import { useTracksOfAGender } from '@/service/Track'; //import { useTracksOfAGender } from '@/service/Track'; import { useColorThemeValue } from '@/theme/ThemeContext'; import { Button, Flex, Text } from '@/ui'; export const GenderDetailPage = () => { const { genderId } = useParams(); const genderIdInt = genderId ? parseInt(genderId, 10) : undefined; const { playInList } = useActivePlaylistService(); const { dataGender } = useSpecificGender(genderIdInt); const { tracksOnAGender } = useTracksOfAGender(genderIdInt); const navigate = useNavigate(); const onSelectItem = (trackId: number) => { //navigate(`/artist/${artistIdInt}/gender/${genderId}`); let currentPlay = 0; const listTrackId: number[] = []; if (!tracksOnAGender) { console.log('Fail to get gender...'); return; } for (let iii = 0; iii < tracksOnAGender.length; iii++) { listTrackId.push(tracksOnAGender[iii].id); if (tracksOnAGender[iii].id === trackId) { currentPlay = iii; } } playInList(currentPlay, listTrackId); }; console.log(`dataGender = ${JSON.stringify(dataGender, null, 2)}`); if (!dataGender) { return ( <> Fail to load artist id: {genderId} ); } return ( <> {dataGender?.name} {dataGender?.description && ( Description: {dataGender?.description} )} {tracksOnAGender?.map((data) => ( onSelectItem(data.id)} contextMenu={[ { name: 'Edit', onClick: () => { navigate(`/gender/${genderId}/edit-track/${data.id}`); }, }, { name: 'Add Playlist', onClick: () => { } }, ]} /> ))} } /> } /> ); };