import { X, Play, Pause } from 'lucide-react'; import { usePlayer } from '../context/PlayerContext'; import CoverImage from './CoverImage'; import { Track } from '../types'; interface QueueModalProps { isOpen: boolean; onClose: () => void; } export default function QueueModal({ isOpen, onClose }: QueueModalProps) { const { queue, currentTrack, playTrack, isPlaying, togglePlay } = usePlayer(); if (!isOpen) return null; return (
{/* Header */}

Queue

{/* Queue List */}

Now Playing

{currentTrack && ( togglePlay()} // Toggle play for current /> )}

Next Up

{queue.length === 0 ? (
Queue is empty
) : ( queue.map((track, i) => { // Skip current track in "Next Up" visual if it's the one playing? // Actually queue usually contains the current track. // Let's filter out current track visually or just show whole queue? // Spotify shows "Next In Queue". if (track.id === currentTrack?.id) return null; return ( playTrack(track, queue)} // Jump to track /> ); }) )}
); } function QueueItem({ track, isCurrent, isPlaying, onClick }: { track: Track, isCurrent: boolean, isPlaying?: boolean, onClick: () => void }) { return (
{isCurrent && isPlaying && (
)} {!isCurrent && (
)}

{track.title}

{track.artist}

); }