Files
boilerplate/app/src/routes/_auth/route.tsx
2026-01-06 11:08:55 +01:00

41 lines
1.1 KiB
TypeScript

import { createFileRoute, Outlet } from "@tanstack/react-router";
import { AppSidebar } from "@/components/app-sidebar";
import { SiteHeader } from "@/components/site-header";
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
export const Route = createFileRoute("/_auth")({
beforeLoad: async ({ context: { auth } }) => {
await auth.resolve();
if (auth.isAuthenticated === false) {
throw auth.login();
}
},
component: AppLayout,
});
function AppLayout() {
return (
<SidebarProvider
style={
{
"--sidebar-width": "calc(var(--spacing) * 72)",
"--header-height": "calc(var(--spacing) * 12)",
} as React.CSSProperties
}
>
<AppSidebar variant="inset" />
<SidebarInset>
<SiteHeader />
<div className="flex flex-1 flex-col">
<div className="@container/main flex flex-1 flex-col gap-2">
<div className="flex flex-col gap-4 py-4 md:gap-6 md:py-6">
<Outlet />
</div>
</div>
</div>
</SidebarInset>
</SidebarProvider>
);
}