This commit is contained in:
2025-11-11 17:06:25 -03:00
parent c00a42ea39
commit 39aedac972
30 changed files with 802 additions and 220 deletions

View File

@@ -6,6 +6,7 @@ import { Outlet, type ShouldRevalidateFunctionArgs } from 'react-router'
import { AppSidebar } from '@/components/app-sidebar'
import { request as req } from '@/lib/request'
import { WorkspaceProvider } from '@/components/workspace-switcher'
import { userContext } from '@repo/auth/context'
import { authMiddleware } from '@repo/auth/middleware/auth'
import { ModeToggle, ThemedImage } from '@repo/ui/components/dark-mode'
@@ -15,6 +16,7 @@ import {
SidebarProvider,
SidebarTrigger
} from '@repo/ui/components/ui/sidebar'
import { Toaster } from '@repo/ui/components/ui/sonner'
export const middleware: Route.MiddlewareFunction[] = [authMiddleware]
@@ -59,31 +61,34 @@ export default function Route({ loaderData }: Route.ComponentProps) {
const { user, orgs, sidebar_state } = loaderData
return (
<SidebarProvider defaultOpen={sidebar_state === 'true'} className="flex">
<AppSidebar orgs={orgs} />
<WorkspaceProvider workspaces={orgs}>
<SidebarProvider defaultOpen={sidebar_state === 'true'} className="flex">
<AppSidebar />
<SidebarInset className="relative flex flex-col flex-1 min-w-0">
<header
className="bg-background/15 backdrop-blur-sm
px-4 py-2 lg:py-4 sticky top-0 z-5"
>
<div className="container mx-auto flex items-center">
<SidebarTrigger className="md:hidden" />
<ThemedImage className="max-md:hidden" />
<SidebarInset className="relative flex flex-col flex-1 min-w-0">
<header
className="bg-background/15 backdrop-blur-sm
px-4 py-2 lg:py-4 sticky top-0 z-5"
>
<div className="container mx-auto flex items-center">
<SidebarTrigger className="md:hidden" />
<ThemedImage className="max-md:hidden" />
<div className="ml-auto flex gap-2.5 items-center">
<ModeToggle />
<NavUser user={user} />
<div className="ml-auto flex gap-2.5 items-center">
<ModeToggle />
<NavUser user={user} />
</div>
</div>
</div>
</header>
</header>
<main className="p-4">
<div className="container mx-auto">
<Outlet />
</div>
</main>
</SidebarInset>
</SidebarProvider>
<main className="p-4">
<div className="container mx-auto relative">
<Outlet />
<Toaster position="top-center" richColors={true} />
</div>
</main>
</SidebarInset>
</SidebarProvider>
</WorkspaceProvider>
)
}