-
Yusuf Akgül authoredYusuf Akgül authored
layout.tsx 1.65 KiB
import { MainNav } from "@/components/header"
import DashboardNav from "@/components/nav"
import SearchInput from "@/components/search-input"
import { SiteFooter } from "@/components/site-footer"
import { UserAccountNav } from "@/components/user-nav"
import { dashboardConfig } from "@/lib/config/dashboard"
import { getCurrentUser } from "@/lib/session"
interface DashboardLayoutProps {
children?: React.ReactNode
}
export default async function ContentLayout({
children,
}: DashboardLayoutProps) {
const user = await getCurrentUser()
return (
<main className="flex min-h-screen flex-col space-y-6">
<header className="sticky top-0 z-50 border-b bg-background">
<div className="container flex h-16 items-center justify-between py-4">
<MainNav />
<SearchInput className="p-3 w-3/6 2xl:w-2/6" />
{user && <UserAccountNav
user={{
name: user?.name,
image: user?.image,
username: user?.username,
}}
/>}
{!user && <p className="w-8"></p>}
</div>
</header>
<div className="container grid flex-1 gap-12 grid-cols-5">
<aside className="self-start sticky top-[89px] col-span-1">
<DashboardNav items={dashboardConfig.sidebarNav} />
</aside>
<div className="flex flex-1 flex-col w-full h-full col-span-4 pb-6">
{children}
</div>
</div>
</main>
)
}