video-flow-b/components/layout/dashboard-layout.tsx
2025-06-26 20:12:55 +08:00

25 lines
705 B
TypeScript

"use client";
import { useState } from 'react';
import { Sidebar } from './sidebar';
import { TopBar } from './top-bar';
interface DashboardLayoutProps {
children: React.ReactNode;
}
export function DashboardLayout({ children }: DashboardLayoutProps) {
const [sidebarCollapsed, setSidebarCollapsed] = useState(true);
return (
<div className="min-h-screen bg-background">
<Sidebar collapsed={sidebarCollapsed} onToggle={setSidebarCollapsed} />
<div className="w-full">
<TopBar collapsed={sidebarCollapsed} onToggleSidebar={() => setSidebarCollapsed(!sidebarCollapsed)} />
<main className="mt-16">
{children}
</main>
</div>
</div>
);
}