| 1234567891011121314151617181920212223 |
- "use client";
- import { useState, type ReactNode } from "react";
- import { Sidebar } from "@/components/layout/sidebar";
- import { TopBar } from "@/components/layout/top-bar";
- export function AppShell({ children }: { children: ReactNode }) {
- const [sidebarOpen, setSidebarOpen] = useState(false);
- return (
- <div className="min-h-dvh bg-background text-foreground">
- <Sidebar open={sidebarOpen} onClose={() => setSidebarOpen(false)} />
- <div className="flex min-h-dvh flex-col lg:pl-64">
- <TopBar onMenuClick={() => setSidebarOpen(true)} />
- <main className="flex-1 px-4 py-5 pb-[max(1.25rem,env(safe-area-inset-bottom))] sm:py-7 lg:px-8 lg:py-8">
- {children}
- </main>
- </div>
- </div>
- );
- }
|