import { HeartFillIcon, HeartIcon } from '@primer/octicons-react';
import { useEffect } from 'react';
import { usePullToRefresh } from '../hooks/usePullToRefresh';
import { InlineLoader } from '../components/InlineLoader';
import { useParams } from 'react-router-dom'
import { JellyImg } from '../components/JellyImg'
import { Loader } from '../components/Loader'
import { PlaylistTrackList } from '../components/PlaylistTrackList'
import { Squircle } from '../components/Squircle'
import { MoreIcon } from '../components/SvgIcons'
import { useDropdownContext } from '../context/DropdownContext/DropdownContext'
import { usePageTitle } from '../context/PageTitleContext/PageTitleContext'
import { usePlaybackContext } from '../context/PlaybackContext/PlaybackContext'
import { useJellyfinPlaylistData } from '../hooks/Jellyfin/Infinite/useJellyfinPlaylistData'
import { useFavorites } from '../hooks/useFavorites'
import { formatDate } from '../utils/formatDate'
import { formatDurationReadable } from '../utils/formatDurationReadable'
import './Playlist.css'
export const Playlist = () => {
const playback = usePlaybackContext()
const { addToFavorites, removeFromFavorites } = useFavorites()
const { playlistId } = useParams<{ playlistId: string }>()
const {
playlistData,
items: tracks,
infiniteData,
isLoading,
error,
totalPlaytime,
totalTrackCount,
totalPlays,
reviver,
loadMore,
refetch,
} = useJellyfinPlaylistData(playlistId!)
const { setPageTitle } = usePageTitle();
const { isOpen, selectedItem, onContextMenu } = useDropdownContext();
const { containerRef, isRefreshing } = usePullToRefresh({ onRefresh: refetch });
useEffect(() => {
if (playlistData) {
setPageTitle(playlistData.Name)
}
return () => {
setPageTitle('')
}
}, [playlistData, setPageTitle])
if (isLoading && tracks.length === 0) {
return