YesPlayMusic/src/renderer/components/ArtistsInline.tsx
memorydream e6b1b91c01
fix: bugs (#1525)
* fix(component/Lyric): 点击歌手名字跳转后不会关闭歌词面板

* fix: 移除build.sqlite3.js中的dll复制

当前使用的better-sqlite3版本已经支持仅单个node文件,不需要也不再构建dll文件

* fix: 对歌词使用更精确的key,避免多个歌词时间相同时的key相同错误

* update
2022-04-12 22:20:56 +08:00

49 lines
1.0 KiB
TypeScript

const ArtistInline = ({
artists,
className,
disableLink,
onClick,
}: {
artists: Artist[]
className?: string
disableLink?: boolean
onClick?: (artistId: number) => void
}) => {
if (!artists) return <div></div>
const navigate = useNavigate()
const handleClick = (id: number) => {
if (id === 0 || disableLink) return
if (!onClick) {
navigate(`/artist/${id}`)
} else {
onClick(id)
}
}
return (
<div
className={classNames(
!className?.includes('line-clamp') && 'line-clamp-1',
className
)}
>
{artists.map((artist, index) => (
<span key={`${artist.id}-${artist.name}`}>
<span
onClick={() => handleClick(artist.id)}
className={classNames({
'hover:underline': !!artist.id && !disableLink,
})}
>
{artist.name}
</span>
{index < artists.length - 1 ? ', ' : ''}&nbsp;
</span>
))}
</div>
)
}
export default ArtistInline