"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { LayoutDashboard, Megaphone, Image, TrendingUp, Calendar, Settings, ChevronsUpDown, Check, Plus, AppWindow, } from "lucide-react"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarHeader, } from "@/components/ui/sidebar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useActiveApp } from "@/hooks/use-active-app"; const navItems = [ { title: "Dashboard", href: "/", icon: LayoutDashboard }, { title: "Campaigns", href: "/campaigns", icon: Megaphone }, { title: "Assets", href: "/assets", icon: Image }, { title: "Trends", href: "/trends", icon: TrendingUp }, { title: "Queue", href: "/queue", icon: Calendar }, { title: "Apps", href: "/apps", icon: AppWindow }, { title: "Settings", href: "/settings", icon: Settings }, ]; export function AppSidebar() { const pathname = usePathname(); const { apps, activeApp, setActiveApp } = useActiveApp(); return ( } > {activeApp ? ( {activeApp.name} { const el = e.target as HTMLImageElement; el.style.display = "none"; el.nextElementSibling?.classList.remove("hidden"); }} /> ) : null}
{activeApp?.name || "Select App"}
{apps.map((app) => ( setActiveApp(app.slug)} className="flex items-center gap-2" > {app.name} { const el = e.target as HTMLImageElement; el.style.display = "none"; if (el.nextElementSibling) el.nextElementSibling.classList.remove("hidden"); }} />
{app.name} {activeApp?.slug === app.slug && ( )} ))} } className="flex items-center gap-2"> Add App Navigation {navItems.map((item) => ( } isActive={ item.href === "/" ? pathname === "/" : pathname.startsWith(item.href) } > {item.title} ))} ); }