"use client"; import { useEffect } from "react"; import { usePathname } from "next/navigation"; import { useSdk } from "@lynkd/messaging-inbox-sdk"; import { useUi } from "@/lib/ui-state"; import clsx from "clsx"; import { WorkspaceRail } from "@/components/nav/WorkspaceRail"; import { Sidebar } from "@/components/nav/Sidebar"; import { ThreadPanel } from "@/components/message/ThreadPanel"; import { CommandPalette } from "@/components/overlays/CommandPalette"; import { NotificationsPanel } from "@/components/overlays/NotificationsPanel"; import { ProfileDrawer } from "@/components/overlays/ProfileDrawer"; import { ThemingPanel } from "@/components/overlays/ThemingPanel"; import { HuddleBar } from "@/components/overlays/HuddleBar"; import { Modals } from "@/components/overlays/Modals"; import { AiPanel } from "@/components/overlays/AiPanel"; import { Toaster } from "@/components/overlays/Toaster"; export function AppShell({ children }: { children: React.ReactNode }) { const { loading } = useSdk(); const { thread, sidebarOpen, setSidebarOpen, sidebarCollapsed } = useUi(); const pathname = usePathname(); // close the mobile drawer whenever the route changes useEffect(() => { setSidebarOpen(false); }, [pathname, setSidebarOpen]); return (