import { HeartFillIcon, HeartIcon } from '@primer/octicons-react'
import { useEffect } from 'react'
import { Link, useParams } from 'react-router-dom'
import { JellyImg } from '../components/JellyImg'
import { Loader } from '../components/Loader'
import { MediaList } from '../components/MediaList'
import { Squircle } from '../components/Squircle'
import { MoreIcon } from '../components/SvgIcons'
import { TrackList } from '../components/TrackList'
import { useDropdownContext } from '../context/DropdownContext/DropdownContext'
import { usePageTitle } from '../context/PageTitleContext/PageTitleContext'
import { usePlaybackContext } from '../context/PlaybackContext/PlaybackContext'
import { useJellyfinArtistData } from '../hooks/Jellyfin/useJellyfinArtistData'
import { useJellyfinPlaylistsFeaturingArtist } from '../hooks/Jellyfin/useJellyfinPlaylistsFeaturingArtist'
import { useFavorites } from '../hooks/useFavorites'
import { formatDurationReadable } from '../utils/formatDurationReadable'
import './Artist.css'
export const Artist = () => {
const playback = usePlaybackContext()
const { artistId } = useParams<{ artistId: string }>()
const {
artist,
tracks,
albums,
appearsInAlbums,
totalTrackCount,
totalPlaytime,
totalPlays,
totalAlbumCount,
loading,
error,
} = useJellyfinArtistData(artistId!)
const {
playlists,
loading: playlistsLoading,
error: playlistsError,
} = useJellyfinPlaylistsFeaturingArtist(artistId!)
const { setPageTitle } = usePageTitle()
const { isOpen, selectedItem, onContextMenu } = useDropdownContext()
const { addToFavorites, removeFromFavorites } = useFavorites()
useEffect(() => {
if (artist) {
setPageTitle(artist.Name)
}
return () => {
setPageTitle('')
}
}, [artist, setPageTitle])
if (loading) {
return