// 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 />;
}
