import useUserLikedTracksIDs, { useMutationLikeATrack, } from '@/web/api/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 Icon from '../Icon' 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 '@emotion/css' 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 (