dstpabuaran.com/resources/js/components/layout/app-shell.tsx

29 lines
695 B
TypeScript

import { usePage } from '@inertiajs/react';
import type { ReactNode } from 'react';
import { SidebarProvider } from '@/components/ui/sidebar';
import type { AppVariant } from '@/types';
type Props = {
children: ReactNode;
variant?: AppVariant;
};
export function AppShell({ children, variant = 'sidebar' }: Props) {
const isOpen = usePage().props.sidebarOpen;
if (variant === 'header') {
return (
<div className="flex min-h-screen w-full flex-col">{children}</div>
);
}
return (
<SidebarProvider
defaultOpen={isOpen}
className="h-screen"
>
{children}
</SidebarProvider>
);
}