added tons of features
This commit is contained in:
65
app/(protected)/admin/layout.tsx
Normal file
65
app/(protected)/admin/layout.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
import {cookies} from 'next/headers'
|
||||
import {ReactNode} from 'react'
|
||||
|
||||
import {auth} from '@/auth'
|
||||
import AdminPermission from '@/components/(protected)/admin/auth/permission'
|
||||
import {AdminSidebar} from '@/components/(protected)/admin/sidebar'
|
||||
import {
|
||||
SidebarInset,
|
||||
SidebarProvider,
|
||||
SidebarTrigger
|
||||
} from '@/components/ui/sidebar'
|
||||
import {
|
||||
Breadcrumb,
|
||||
BreadcrumbItem,
|
||||
BreadcrumbLink,
|
||||
BreadcrumbList,
|
||||
BreadcrumbPage,
|
||||
BreadcrumbSeparator
|
||||
} from '@/ui/breadcrumb'
|
||||
import {Separator} from '@/ui/separator'
|
||||
|
||||
export default async function AdminLayout({children}: {children: ReactNode}) {
|
||||
//const session = await auth()
|
||||
if (!(await auth())) return <AdminPermission />
|
||||
|
||||
const cookieStore = await cookies()
|
||||
const defaultOpen = cookieStore.get('sidebar:state')?.value === 'true'
|
||||
|
||||
return (
|
||||
<SidebarProvider
|
||||
defaultOpen={defaultOpen}
|
||||
style={{
|
||||
// @ts-ignore
|
||||
'--sidebar-width': '16rem',
|
||||
'--sidebar-width-mobile': '18rem'
|
||||
}}
|
||||
>
|
||||
<AdminSidebar />
|
||||
<SidebarInset>
|
||||
<header className='flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12'>
|
||||
<div className='flex items-center gap-2 px-4'>
|
||||
<SidebarTrigger className='-ml-1' />
|
||||
<Separator orientation='vertical' className='mr-2 h-4' />
|
||||
<Breadcrumb>
|
||||
<BreadcrumbList>
|
||||
<BreadcrumbItem className='hidden md:block'>
|
||||
<BreadcrumbLink href='#'>
|
||||
Building Your Application
|
||||
</BreadcrumbLink>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbSeparator className='hidden md:block' />
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbPage>Data Fetching</BreadcrumbPage>
|
||||
</BreadcrumbItem>
|
||||
</BreadcrumbList>
|
||||
</Breadcrumb>
|
||||
</div>
|
||||
</header>
|
||||
<main id='admin-bw-panel' className='container'>
|
||||
{children}
|
||||
</main>
|
||||
</SidebarInset>
|
||||
</SidebarProvider>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user