42 lines
923 B
TypeScript
42 lines
923 B
TypeScript
import { redirect } from 'next/navigation'
|
|
import { auth } from '@/lib/auth'
|
|
import { AdminLayoutClient } from './AdminLayoutClient'
|
|
import { Toaster } from "@/registry/new-york/ui/toaster"
|
|
import { Metadata } from 'next'
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'NavSphere Admin',
|
|
description: 'NavSphere Admin Dashboard',
|
|
icons: {
|
|
icon: '/assets/images/favicon.png',
|
|
shortcut: '/assets/images/favicon.png',
|
|
apple: '/assets/images/favicon.png',
|
|
}
|
|
}
|
|
|
|
export default async function AdminLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}) {
|
|
const session = await auth()
|
|
|
|
if (!session?.user) {
|
|
redirect('/auth/signin')
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<AdminLayoutClient
|
|
user={{
|
|
name: session.user.name,
|
|
email: session.user.email,
|
|
image: session.user.image
|
|
}}
|
|
>
|
|
{children}
|
|
</AdminLayoutClient>
|
|
<Toaster />
|
|
</>
|
|
)
|
|
}
|