"use client" import { useState, useEffect } from "react" import { useRouter } from "next/navigation" import { SearchIcon } from "lucide-react" import { Sidebar } from "@/components/app/sidebar" import { PlayerBar } from "@/components/app/player-bar" import { MobileNav } from "@/components/app/mobile-nav" import { AlbumCard } from "@/components/app/album-card" import { LoadingSpinner } from "@/components/app/loading-spinner" import { EmptyState } from "@/components/app/empty-state" import { Input } from "@/components/ui/input" import { useSearch } from "@/hooks/use-search" export default function Home() { const router = useRouter() const [query, setQuery] = useState("") const [debouncedQuery, setDebouncedQuery] = useState("") const { albums, isLoading, error } = useSearch(debouncedQuery) useEffect(() => { const timer = setTimeout(() => { setDebouncedQuery(query) }, 500) return () => clearTimeout(timer) }, [query]) const handleAlbumClick = (albumId: string) => { router.push(`/album/${albumId}`) } return (