"use client" import Link from "next/link" import { usePathname, useRouter } from "next/navigation" import { Sparkles, Home, BarChart3, Compass, User, Menu, X, Search } from "lucide-react" import { useState } from "react" import { Button } from "@/components/ui/button" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" import { Input } from "@/components/ui/input" import { cn } from "@/lib/utils" const navItems = [ { href: "/", label: "Home", icon: Home }, { href: "/compare", label: "Compare", icon: BarChart3 }, { href: "/explore", label: "Explore", icon: Compass }, { href: "/profile", label: "Profile", icon: User }, ] function NavSidebar({ className }: { className?: string }) { const pathname = usePathname() return ( {navItems.map((item) => { const isActive = pathname === item.href || (item.href !== "/" && pathname.startsWith(item.href)) return ( {item.label} ) })} ) } function MobileNav() { const pathname = usePathname() return ( {navItems.map((item) => { const isActive = pathname === item.href || (item.href !== "/" && pathname.startsWith(item.href)) return ( {item.label} ) })} ) } export default function MainLayout({ children, }: { children: React.ReactNode }) { const [mobileMenuOpen, setMobileMenuOpen] = useState(false) const [searchQuery, setSearchQuery] = useState("") const router = useRouter() const handleSearchKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter" && searchQuery.trim()) { router.push(`/explore?search=${encodeURIComponent(searchQuery.trim())}`) } } return ( ComparAIson setSearchQuery(e.target.value)} onKeyDown={handleSearchKeyDown} className="pl-9 h-9" /> New Comparison U My Account Profile New Comparison Sign Out setMobileMenuOpen(!mobileMenuOpen)} > {mobileMenuOpen ? : } {mobileMenuOpen && ( setSearchQuery(e.target.value)} onKeyDown={handleSearchKeyDown} className="pl-9" /> )} {children} ) }