Files
archived-linsa/web/app/routes/_layout/_pages.tsx
Aslam a440828f8c chore: Enhancement + New Feature (#185)
* wip

* wip page

* chore: style

* wip pages

* wip pages

* chore: toggle

* chore: link

* feat: topic search

* chore: page section

* refactor: apply tailwind class ordering

* fix: handle loggedIn user for guest route

* feat: folder & image schema

* chore: move utils to shared

* refactor: tailwind class ordering

* feat: img ext for editor

* refactor: remove qa

* fix: tanstack start

* fix: wrong import

* chore: use toast

* chore: schema
2024-10-18 21:18:20 +07:00

58 lines
1.6 KiB
TypeScript

import { Outlet, createFileRoute } from "@tanstack/react-router"
import { Provider as JotaiProvider } from "jotai"
import { Toaster } from "sonner"
import { ConfirmDialogProvider } from "@omit/react-confirm-dialog"
import { Sidebar } from "~/components/sidebar/sidebar"
import { TooltipProvider } from "~/components/ui/tooltip"
import { JazzAndAuth } from "~/lib/providers/jazz-provider"
import { Shortcut } from "~/components/shortcut/shortcut"
import { Onboarding } from "~/components/Onboarding"
import { GlobalKeyboardHandler } from "~/components/GlobalKeyboardHandler"
import { CommandPalette } from "~/components/command-palette/command-palette"
export const Route = createFileRoute("/_layout/_pages")({
component: PagesLayout,
})
function PagesLayout() {
return (
<JotaiProvider>
<TooltipProvider>
<ConfirmDialogProvider>
<JazzAndAuth>
<LayoutContent />
</JazzAndAuth>
</ConfirmDialogProvider>
</TooltipProvider>
</JotaiProvider>
)
}
function LayoutContent() {
return (
<>
<Toaster expand={false} />
<div className="flex size-full min-h-full flex-row items-stretch overflow-hidden">
<Sidebar />
<Shortcut />
<GlobalKeyboardHandler />
<CommandPalette />
<Onboarding />
<MainContent />
</div>
</>
)
}
function MainContent() {
return (
<div className="relative flex min-w-0 flex-1 flex-col">
<main className="relative flex flex-auto flex-col place-items-stretch overflow-auto bg-[var(--container-background)] lg:my-2 lg:mr-2 lg:rounded-md lg:border">
<Outlet />
</main>
</div>
)
}