37 lines
818 B
TypeScript
Raw Normal View History

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 (
<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,
})}
>
{artist.name}
</span>
2022-03-13 14:40:38 +08:00
{index < artists.length - 1 ? ', ' : ''}&nbsp;
</span>
))}
</div>
)
}
export default ArtistInline