import prisma from "@/lib/prisma";
import { PageHeader } from "@/components/layout/PageHeader";
import UsersClient from "./UsersClient";

export default async function AdminUsersPage() {
  const [users, classes] = await Promise.all([
    prisma.user.findMany({
      where: { deletedAt: null },
      include: {
        teacher: {
          include: { homeroomClasses: true },
        },
        student: {
          include: {
            classMembers: { include: { class: true } },
          },
        },
      },
      orderBy: { createdAt: "desc" },
    }),
    prisma.class.findMany({ orderBy: { name: "asc" } }),
  ]);

  return (
    <div className="space-y-6">
      <PageHeader
        title="Manajemen Pengguna"
        description="Kelola akun Administrator, Guru Pendidik, dan Siswa SMAN 3 OKU."
        breadcrumbs={[
          { label: "Dashboard", href: "/admin/dashboard" },
          { label: "Pengguna" },
        ]}
      />

      <UsersClient initialUsers={users} classes={classes} />
    </div>
  );
}
