Initial commit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
// app/admin/page.tsx (server component)
|
||||
import { getServerSession } from 'next-auth';
|
||||
import { authOptions } from '@/lib/auth-options';
|
||||
import { redirect } from 'next/navigation';
|
||||
import AdminClient from './admin-client'; // the client UI component (see below)
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function AdminPage() {
|
||||
const session = await getServerSession(authOptions);
|
||||
const role = (session as any)?.user?.role ?? null;
|
||||
|
||||
if (!session?.user) {
|
||||
redirect('/login');
|
||||
}
|
||||
|
||||
if (!(role === 'admin' || role === 'superadmin')) {
|
||||
redirect('/dashboard');
|
||||
}
|
||||
|
||||
// authorised — render the client admin UI
|
||||
return <AdminClient />;
|
||||
}
|
||||
Reference in New Issue
Block a user