import { X, Music2, Disc3, ListMusic, UserRound } from "lucide-react"; export interface HistoryItem { id: string; url: string; type: "track" | "album" | "playlist" | "artist"; name: string; artist: string; image: string; timestamp: number; } interface FetchHistoryProps { history: HistoryItem[]; onSelect: (item: HistoryItem) => void; onRemove: (id: string) => void; } export function FetchHistory({ history, onSelect, onRemove }: FetchHistoryProps) { if (history.length === 0) return null; const getTypeLabel = (type: string) => { switch (type) { case "track": return "Track"; case "album": return "Album"; case "playlist": return "Playlist"; case "artist": return "Artist"; default: return type; } }; const getTypeIcon = (type: string) => { switch (type) { case "track": return Music2; case "album": return Disc3; case "playlist": return ListMusic; case "artist": return UserRound; default: return null; } }; const getTypeBadgeClass = (type: string) => { switch (type) { case "track": return "bg-blue-500/10 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400"; case "album": return "bg-green-500/10 text-green-600 dark:bg-green-500/20 dark:text-green-400"; case "playlist": return "bg-purple-500/10 text-purple-600 dark:bg-purple-500/20 dark:text-purple-400"; case "artist": return "bg-orange-500/10 text-orange-600 dark:bg-orange-500/20 dark:text-orange-400"; default: return "bg-muted text-muted-foreground"; } }; return (
{item.name}
{item.artist}
{(() => { const IconComponent = getTypeIcon(item.type); return ( {IconComponent ?