"use client" import { useSession } from "next-auth/react" import { AppSidebar } from "@/components/app-sidebar" import { SidebarInset, SidebarTrigger, SidebarProvider } from "@/components/ui/sidebar" import { Separator } from "@/components/ui/separator" import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb" import { redirect } from "next/navigation" interface DashboardLayoutProps { children: React.ReactNode breadcrumbs?: { label: string href?: string }[] } export function DashboardLayout({ children, breadcrumbs = [] }: DashboardLayoutProps) { const { data: session, status } = useSession() if (status === "loading") { return (
) } if (!session?.user) { redirect("/") } return (
{breadcrumbs.length > 0 && ( {breadcrumbs.map((breadcrumb, index) => (
{breadcrumb.href ? ( {breadcrumb.label} ) : ( {breadcrumb.label} )} {index < breadcrumbs.length - 1 && ( )}
))}
)}
{children}
) }