import React from 'react'; import { usePlayerStore } from '../store/playerStore'; import { useUIStore } from '@/stores/ui'; import { cn } from '@/lib/utils'; import { X, GripVertical, ListMusic } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { ScrollArea } from '@/components/ui/scroll-area'; import { EmptyState } from '@/components/ui/empty-state'; interface PlayerQueueProps { isOpen: boolean; onClose: () => void; currentTrackId?: string; onPlay: (track: any) => void; } export function PlayerQueue({ isOpen, onClose, currentTrackId, onPlay }: PlayerQueueProps) { const { queue, currentIndex, removeFromQueue, clearQueue } = usePlayerStore(); const { sidebarOpen } = useUIStore(); if (!isOpen) return null; return (
{/* Header */}

Play Queue

{queue.length} Tracks
{/* Content */}
{queue.length === 0 ? ( } title="Your queue is empty" description="Add tracks to keep the vibe going." size="sm" className="border-0 shadow-none bg-transparent" /> ) : (
{queue.map((track, index) => { const isCurrent = index === currentIndex; const isPast = index < currentIndex; return (
{/* Drag Handle (Simulated) */}
{/* Number/Status */}
{isCurrent ? (
) : ( index + 1 )}
{/* Info */}
!isCurrent && onPlay(track)} >

{track.title}

{track.artist}

{/* Actions */}
); })}
)}
{/* Backdrop for explicit dismissal on mobile if needed */}
); }