import { Drawer, DrawerContent, Header, ResizableHandle, ResizablePanel, ResizablePanelGroup, Toaster, } from '@marzneshin/components' import { NavigationDirectory } from '@marzneshin/components/nav-dir'; import { useAuth } from '@marzneshin/features/auth' import { DashboardSidebar, ToggleButton, sidebarItems } from '@marzneshin/features/sidebar'; import { usePanelToggle } from '@marzneshin/features/sidebar/use-panel-toggle'; import { useScreenBreakpoint } from '@marzneshin/hooks/use-screen-breakpoint'; import { cn } from '@marzneshin/utils'; import { Outlet, createFileRoute, redirect } from '@tanstack/react-router' export const DashboardLayout = () => { const isDesktop = useScreenBreakpoint("md"); const { collapsed, panelRef, open, setCollapsed, setOpen, toggleCollapse, toggleOpen } = usePanelToggle(isDesktop); return (
{isDesktop ? ( setCollapsed(true)} onExpand={() => setCollapsed(false)} minSize={15} className={cn("w-[120px] min-w-[70px]")} defaultSize={20} ref={panelRef} maxSize={30}>
) : (
)}
) } export const Route = createFileRoute('/_dashboard')({ component: () => , beforeLoad: async () => { const loggedIn = await useAuth.getState().isLoggedIn() if (!loggedIn) { throw redirect({ to: '/login', }) } } })