"use client"; import { useState } from "react"; import { dbService } from "@/services/db"; import { useLibrary } from "@/context/LibraryContext"; import Link from "next/link"; import { Plus } from "lucide-react"; import CreatePlaylistModal from "@/components/CreatePlaylistModal"; import CoverImage from "@/components/CoverImage"; export default function LibraryPage() { const { userPlaylists: playlists, libraryItems, refreshLibrary: refresh, activeFilter: activeTab, setActiveFilter: setActiveTab } = useLibrary(); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const handleCreatePlaylist = async (name: string) => { await dbService.createPlaylist(name); refresh(); }; const showPlaylists = activeTab === 'all' || activeTab === 'playlists'; const showAlbums = activeTab === 'all' || activeTab === 'albums'; const showArtists = activeTab === 'all' || activeTab === 'artists'; // Filter items based on type const albums = libraryItems.filter(item => item.type === 'Album'); const artists = libraryItems.filter(item => item.type === 'Artist'); const browsePlaylists = libraryItems.filter(item => item.type === 'Playlist'); return (

Your Library

{/* Playlists & Liked Songs */} {showPlaylists && ( <>

Liked Songs

Auto-generated

{playlists.map((playlist) => (

{playlist.title}

Playlist • You

))} {browsePlaylists.map((playlist) => (

{playlist.title}

Playlist • Made for you

))} )} {/* Artists Content (Circular Images) */} {showArtists && artists.map((artist) => (

{artist.title}

Artist

))} {/* Albums Content */} {showAlbums && albums.map((album) => (

{album.title}

Album • {album.creator || 'Spotify'}

))}
setIsCreateModalOpen(false)} onCreate={handleCreatePlaylist} />
); }