Skip to content
Snippets Groups Projects
layout.tsx 1.20 KiB
import { Header } from "@/components/nav-header"
import { MobileNav } from "@/components/nav-mobile"
import { Sidebar } from "@/components/nav-sidebar"
import { dashboardConfig } from "@/lib/config/dashboard"
import { getCurrentUser } from "@/lib/session"

export default async function ContentLayout({
    children,
}: {
    children: React.ReactNode
}) {
    const user = await getCurrentUser()

    return (
        <main className="flex min-h-screen flex-col md:space-y-6 align-middle">
            <Header user={user} />

            <div className="md:container grid flex-1 md:gap-12 grid-cols-5">
                <aside className="self-start sticky top-[89px] hidden md:col-span-1 md:block">
                    <Sidebar items={dashboardConfig.sidebarNav} user={user} />
                </aside>
                <div className="flex flex-1 flex-col w-full h-full col-span-5 md:col-span-4 mb-16 md:pb-6">
                    {children}

                    <div className="md:hidden fixed bottom-0 left-0 z-50 w-full h-16 bg-background border-t">
                        <MobileNav items={dashboardConfig.sidebarNav} user={user} />
                    </div>
                </div>
            </div>
        </main>
    )
}