2022-03-13 14:40:38 +08:00
|
|
|
const ArtistInline = ({
|
|
|
|
artists,
|
|
|
|
className,
|
2022-03-23 01:21:22 +08:00
|
|
|
disableLink,
|
2022-03-13 14:40:38 +08:00
|
|
|
}: {
|
|
|
|
artists: Artist[]
|
|
|
|
className?: string
|
2022-03-23 01:21:22 +08:00
|
|
|
disableLink?: boolean
|
2022-03-13 14:40:38 +08:00
|
|
|
}) => {
|
|
|
|
if (!artists) return <div></div>
|
|
|
|
|
2022-03-23 01:21:22 +08:00
|
|
|
const navigate = useNavigate()
|
|
|
|
const handleClick = () => {
|
|
|
|
disableLink ? null : navigate(`/artist/${artists[0].id}`)
|
|
|
|
}
|
|
|
|
|
2022-03-13 14:40:38 +08:00
|
|
|
return (
|
2022-03-21 18:18:17 +08:00
|
|
|
<div className={classNames('line-clamp-1', className)}>
|
2022-03-13 14:40:38 +08:00
|
|
|
{artists.map((artist, index) => (
|
2022-03-23 01:21:22 +08:00
|
|
|
<span key={`${artist.id}-${artist.name}`}>
|
|
|
|
<span
|
|
|
|
onClick={handleClick}
|
|
|
|
className={classNames({
|
|
|
|
'hover:underline': !!artist.id && !disableLink,
|
|
|
|
})}
|
|
|
|
>
|
2022-03-18 14:13:56 +08:00
|
|
|
{artist.name}
|
|
|
|
</span>
|
2022-03-13 14:40:38 +08:00
|
|
|
{index < artists.length - 1 ? ', ' : ''}
|
|
|
|
</span>
|
|
|
|
))}
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default ArtistInline
|