'use client' import { useMusicPlayer, type Track } from './music-provider' import { Play, Pause, ListPlus } from 'lucide-react' function formatDuration(secs: number) { if (!secs) return '' const m = Math.floor(secs / 60) const s = Math.floor(secs % 60) return `${m}:${s.toString().padStart(2, '0')}` } export function SongRow({ song, songs, index, }: { song: Track songs: Track[] index: number }) { const { state, playTrack, togglePlay, addToQueue } = useMusicPlayer() const isActive = state.currentTrack?.id === song.id const isPlaying = isActive && state.isPlaying return (
{/* Play button / track number */} {/* Cover art */}
{song.coverArt ? ( {song.album} ) : (
)}
{/* Info */}
{song.title}
{song.artist} · {song.album}
{/* Duration */} {formatDuration(song.duration)} {/* Add to queue */}
) }