import prisma from "@/lib/prisma";
import { PageHeader } from "@/components/layout/PageHeader";
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import ClassesClient from "./ClassesClient";

export default async function AdminClassesPage() {
  const [classes, teachers, academicYears] = await Promise.all([
    prisma.class.findMany({
      include: {
        academicYear: true,
        semester: true,
        homeroomTeacher: true,
        members: {
          include: { student: true },
        },
        teacherSubjects: {
          include: { subject: true, teacher: true },
        },
      },
      orderBy: [{ gradeLevel: "asc" }, { name: "asc" }],
    }),
    prisma.teacher.findMany({
      orderBy: { fullName: "asc" },
    }),
    prisma.academicYear.findMany({
      include: { semesters: true },
      orderBy: { createdAt: "desc" },
    }),
  ]);

  return (
    <div className="space-y-6">
      <PageHeader
        title="Manajemen Kelas & Rombel"
        description="Kelola tingkat kelas (Fase E & Fase F Kurikulum Merdeka), penetapan wali kelas, dan plotting siswa."
        breadcrumbs={[
          { label: "Dashboard", href: "/admin/dashboard" },
          { label: "Kelas & Rombel" },
        ]}
      />

      <ClassesClient
        initialClasses={classes}
        teachers={teachers}
        academicYears={academicYears}
      />
    </div>
  );
}
