"use client"; import { Sidebar, SidebarContent, SidebarFooter } from "ui/sidebar"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; import { AppSidebarMenus } from "./app-sidebar-menus"; import { AppSidebarAgents } from "./app-sidebar-agents"; import { AppSidebarThreads } from "./app-sidebar-threads"; import { SidebarHeaderShared } from "./sidebar-header"; import { isShortcutEvent, Shortcuts } from "lib/keyboard-shortcuts"; import { AppSidebarUser } from "./app-sidebar-user"; import { BasicUser } from "app-types/user"; export function AppSidebar({ user, }: { user?: BasicUser; }) { const userRole = user?.role; const router = useRouter(); // Handle new chat shortcut (specific to main app) useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if (isShortcutEvent(e, Shortcuts.openNewChat)) { e.preventDefault(); router.push("/"); router.refresh(); } }; window.addEventListener("keydown", handleKeyDown); return () => window.removeEventListener("keydown", handleKeyDown); }, [router]); return ( { router.push("/"); router.refresh(); }} />
); }