"use client"; import type { ReactNode } from "react"; import { SidebarProvider, SidebarInset } from "@multica/ui/components/ui/sidebar"; import { ModalRegistry } from "../modals/registry"; import { AppSidebar } from "./app-sidebar"; import { DashboardGuard } from "./dashboard-guard"; interface DashboardLayoutProps { children: ReactNode; /** Rendered inside SidebarInset (e.g. ChatWindow, ChatFab — absolute-positioned overlays) */ extra?: ReactNode; /** Rendered inside sidebar header as a search trigger */ searchSlot?: ReactNode; /** Loading indicator */ loadingIndicator?: ReactNode; } export function DashboardLayout({ children, extra, searchSlot, loadingIndicator, }: DashboardLayoutProps) { return ( {loadingIndicator} } > {children} {extra} ); }