import { useCallback, useEffect, useState } from 'react' import { useParams } from 'react-router-dom' import { X } from 'lucide-react' import toast from 'react-hot-toast' import { playbackAPI, type PlaylistDetail } from '../api/playback' import { MediaCard } from '../components/MediaCard' import { PageHeader } from '../components/PageHeader' export function PlaylistDetailPage() { const { id = '' } = useParams() const [detail, setDetail] = useState(null) const refresh = useCallback(() => { return playbackAPI.getPlaylist(id).then(setDetail).catch(() => setDetail(null)) }, [id]) useEffect(() => { refresh() }, [refresh]) if (!detail) { return

加载中…

} return (
{detail.items.length === 0 && (

暂无内容,前往媒体详情页通过「加入播放列表」添加。

)}
{detail.items.map((m) => (
))}
) }