import { useState } from "react"; import { cn } from "~/lib/utils"; import { Sidebar } from "./sidebar"; import { Header } from "./header"; interface DashboardLayoutProps { children: React.ReactNode; className?: string; title?: string; } export function DashboardLayout({ children, className, title, }: DashboardLayoutProps) { const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false); const [isMobileSidebarOpen, setIsMobileSidebarOpen] = useState(false); const toggleSidebarCollapse = () => { setIsSidebarCollapsed(!isSidebarCollapsed); }; const toggleMobileSidebar = () => { setIsMobileSidebarOpen(!isMobileSidebarOpen); }; return (
{/* Gradient overlay */}
{/* Mobile sidebar overlay */} {isMobileSidebarOpen && (
setIsMobileSidebarOpen(false)} >
)} {/* Sidebar */}
{/* Main content area */}
{/* Header */}
{/* Main content */}
{children}
); } export default DashboardLayout;