YesPlayMusic/packages/web/hooks/useCoverColor.ts
2022-05-12 02:45:43 +08:00

17 lines
472 B
TypeScript

import { colord } from 'colord'
import { getCoverColor } from '../utils/common'
import { useState, useEffect } from 'react'
export default function useCoverColor(url: string) {
const [color, setColor] = useState({ from: '#fff', to: '#fff' })
useEffect(() => {
getCoverColor(url || '').then(color => {
if (!color) return
const to = colord(color).darken(0.15).rotate(-5).toHex()
setColor({ from: color, to })
})
}, [url])
return color
}