2025-11-05 05:47:41 +01:00
|
|
|
import { Sidebar, MobileSidebar } from "@/components/sidebar";
|
2025-11-05 03:32:14 +01:00
|
|
|
import { Providers } from "@/components/providers";
|
2025-11-05 05:47:41 +01:00
|
|
|
import { ThemeToggle } from "@/components/theme-toggle";
|
2025-11-05 03:32:14 +01:00
|
|
|
|
|
|
|
|
export default function DashboardLayout({
|
|
|
|
|
children,
|
|
|
|
|
}: {
|
|
|
|
|
children: React.ReactNode;
|
|
|
|
|
}) {
|
|
|
|
|
return (
|
|
|
|
|
<Providers>
|
2025-11-05 05:47:41 +01:00
|
|
|
<div className="flex h-screen flex-col overflow-hidden md:flex-row">
|
|
|
|
|
{/* Mobile Header */}
|
|
|
|
|
<header className="flex h-16 items-center justify-between border-b bg-card px-4 md:hidden">
|
|
|
|
|
<div className="flex items-center gap-3">
|
|
|
|
|
<MobileSidebar />
|
|
|
|
|
<h1 className="text-lg font-bold">Scrapy UI</h1>
|
|
|
|
|
</div>
|
|
|
|
|
<ThemeToggle />
|
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
{/* Desktop Sidebar */}
|
2025-11-05 03:32:14 +01:00
|
|
|
<Sidebar />
|
2025-11-05 05:47:41 +01:00
|
|
|
|
|
|
|
|
{/* Main Content */}
|
2025-11-05 03:32:14 +01:00
|
|
|
<main className="flex-1 overflow-y-auto">
|
2025-11-05 05:47:41 +01:00
|
|
|
<div className="container p-4 md:p-6">{children}</div>
|
2025-11-05 03:32:14 +01:00
|
|
|
</main>
|
|
|
|
|
</div>
|
|
|
|
|
</Providers>
|
|
|
|
|
);
|
|
|
|
|
}
|