import useUserLikedTracksIDs, { useMutationLikeATrack, } from '@/web/hooks/useUserLikedTracksIDs' import { player, state } from '@/web/store' import { resizeImage } from '@/web/utils/common' import ArtistInline from '../ArtistsInline' import Cover from '../Cover' import IconButton from '../IconButton' import SvgIcon from '../SvgIcon' import { State as PlayerState, Mode as PlayerMode, } from '@/web/utils/player' import { useMemo } from 'react' import { useNavigate } from 'react-router-dom' import { useSnapshot } from 'valtio' import cx from 'classnames' const PlayingTrack = () => { const playerSnapshot = useSnapshot(player) const track = useMemo(() => playerSnapshot.track, [playerSnapshot.track]) const navigate = useNavigate() const toAlbum = () => { const id = track?.al?.id if (!id) return navigate(`/album/${id}`) state.uiStates.showLyricPanel = false } const trackListSource = useMemo( () => playerSnapshot.trackListSource, [playerSnapshot.trackListSource] ) const hasListSource = playerSnapshot.mode !== PlayerMode.FM && trackListSource?.type const toTrackListSource = () => { if (!hasListSource) return navigate(`/${trackListSource.type}/${trackListSource.id}`) state.uiStates.showLyricPanel = false } const toArtist = (id: number) => { navigate(`/artist/${id}`) state.uiStates.showLyricPanel = false } return (