import { AppSidebar } from "@/components/layout/app-sidebar"; import { SiteHeader } from "@/components/layout/site-header"; import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar"; import { ReactNode } from "react"; type UserRole = "admin" | "dentist" | "patient"; interface DashboardLayoutProps { user: { id: string; name: string; email: string; role: string | null | undefined; image?: string | null; }; role: UserRole; children: ReactNode; variant?: "inset" | "sidebar"; } /** * Shared dashboard layout component that wraps pages with SidebarProvider, * AppSidebar, and SiteHeader to reduce code duplication across pages. */ export function DashboardLayout({ user, role, children, variant = "inset", }: DashboardLayoutProps) { return (
{children}
); }