{artist.name}
{[artist.type, artist.country].filter(Boolean).join(' - ')}
{artist.tags.map((tag, index) => (- {tag.name}
))}
)
} else {
return <>>
}
}
export const ArtistView = (props) => {
const parsedParams = queryString.parse(props.location.search);
const [artist, setArtist] = useState(null);
const [discs, setDiscs] = useState(null);
const [discsPaginate, setDiscsPaginate] = useState(null);
const [page, setPage] = useState(!isNaN(+parsedParams.page) ? +parsedParams.page : 1)
const mbid = props.match.params.mbid;
useEffect(() => {
if (mbid) {
getArtist(mbid).then((result) => setArtist(result));
getArtistDiscs(mbid, page, 16).then((result) => {
setDiscs(result.discs);
setDiscsPaginate(result.paginate);
});
}
}, [mbid, page])
const makeLink = (page) => {
return `/artist/${mbid}?page=${page}`;
}
const handleDiscPageChanged = (page) => {
setDiscs(null);
setPage(page);
getArtistDiscs(mbid, page, 16).then((result) => {
setDiscs(result.discs);
setDiscsPaginate(result.paginate);
});
props.history.push(makeLink(page));
}
const handleNavigateToDisc = (disc) => {
console.log(disc);
props.history.push(`/disc/${disc.id}`)
}
return (