Files
lotteryAdmin/src/components/admin/admin-shell.tsx

35 lines
1.2 KiB
TypeScript

"use client";
import type { ReactNode } from "react";
import { AdminAppSidebar } from "@/components/admin/admin-sidebar";
import { ShellToolbar } from "@/components/admin/toolbar";
import { AdminBreadcrumb } from "@/components/admin/admin-breadcrumb";
import {
SidebarInset,
SidebarProvider,
SidebarTrigger,
} from "@/components/ui/sidebar";
import { Separator } from "@/components/ui/separator";
export function AdminShell({ children }: { children: ReactNode }) {
return (
<SidebarProvider defaultOpen>
<AdminAppSidebar />
<SidebarInset className="min-w-0 overflow-x-hidden max-md:overflow-x-hidden">
<header className="sticky top-0 z-30 flex h-14 shrink-0 items-center gap-3 border-b border-border bg-card/90 px-4 shadow-[0_1px_0_rgb(216_230_251_/_45%)] backdrop-blur-md">
<SidebarTrigger />
<Separator orientation="vertical" className="mr-1.5 h-4" />
<AdminBreadcrumb />
<div className="ml-auto flex shrink-0 items-center">
<ShellToolbar />
</div>
</header>
<div className="flex min-w-0 flex-1 flex-col overflow-x-hidden px-4 pt-4 pb-6 md:px-5 md:pt-4 md:pb-6">
{children}
</div>
</SidebarInset>
</SidebarProvider>
);
}