* fix(component/Lyric): 点击歌手名字跳转后不会关闭歌词面板

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

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

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

* update
This commit is contained in:
memorydream 2022-04-12 22:20:56 +08:00 committed by GitHub
parent 3a204dc7bb
commit e6b1b91c01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 10 deletions

View file

@ -100,12 +100,6 @@ const build = async arch => {
'./node_modules/better-sqlite3/build/Release/better_sqlite3.node',
`./dist/main/better_sqlite3_${arch}.node`
)
if (isWin) {
fs.copyFileSync(
'./node_modules/better-sqlite3/build/Release/sqlite3.dll',
'./dist/main/sqlite3.dll'
)
}
})
.catch(e => {
console.error(pc.red('Build failed!'))

View file

@ -2,16 +2,23 @@ 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) => {
id !== 0 && !disableLink && navigate(`/artist/${id}`)
if (id === 0 || disableLink) return
if (!onClick) {
navigate(`/artist/${id}`)
} else {
onClick(id)
}
}
return (

View file

@ -95,7 +95,7 @@ const Lyric = ({ className }: { className?: string }) => {
{displayLines.map(({ content, time }, index) => {
return (
<motion.div
key={time}
key={`${String(index)}-${String(time)}`}
custom={index}
variants={variants}
initial={'initial'}

View file

@ -61,7 +61,7 @@ const Lyric = ({ className }: { className?: string }) => {
return (
<motion.div
id={String(time)}
key={time}
key={`${String(index)}-${String(time)}`}
className={classNames(
'max-w-[78%] py-[calc(100vw_*_0.0111)] text-white duration-700'
)}

View file

@ -40,6 +40,11 @@ const PlayingTrack = () => {
state.uiStates.showLyricPanel = false
}
const toArtist = (id: number) => {
navigate(`/artist/${id}`)
state.uiStates.showLyricPanel = false
}
return (
<div>
<div
@ -52,7 +57,7 @@ const PlayingTrack = () => {
{track?.name}
</div>
<div className='line-clamp-1 -mt-0.5 inline-flex max-h-7 text-white opacity-60'>
<ArtistInline artists={track?.ar ?? []} />
<ArtistInline artists={track?.ar ?? []} onClick={toArtist} />
{!!track?.al?.id && (
<span>
{' '}