"use client"; import { useEffect, useState } from "react"; import { Plus, X } from "lucide-react"; import { api } from '@/services/apiClient'; interface AddToPlaylistModalProps { track: any; isOpen: boolean; onClose: () => void; } export default function AddToPlaylistModal({ track, isOpen, onClose }: AddToPlaylistModalProps) { const [playlists, setPlaylists] = useState([]); useEffect(() => { if (isOpen) { api.get('/playlists') .then(data => setPlaylists(data)) .catch(err => console.error(err)); } }, [isOpen]); const handleAddToPlaylist = async (playlistId: string) => { try { await api.post(`/playlists/${playlistId}/tracks`, track); alert(`Added to playlist!`); onClose(); } catch (error) { console.error("Failed to add track:", error); } }; if (!isOpen) return null; return (

Add to Playlist

{playlists.length === 0 ? (
No playlists found. Create one first!
) : ( playlists.map((playlist) => (
handleAddToPlaylist(playlist.id)} className="flex items-center gap-3 p-3 hover:bg-[#3e3e3e] rounded-md cursor-pointer transition text-white" >
{playlist.cover_url && !playlist.cover_url.includes("placehold") ? ( ) : ( 🎵 )}
{playlist.title}
)) )}
); }