import prisma from "@/lib/prisma";
import { getSessionUser } from "@/lib/auth";
import { PageHeader } from "@/components/layout/PageHeader";
import SubmissionsGradingClient from "./SubmissionsGradingClient";

export default async function TeacherAssignmentSubmissionsPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;
  const user = await getSessionUser();
  if (!user) return null;

  const assignment = await prisma.assignment.findUnique({
    where: { id },
    include: {
      teacherSubject: {
        include: {
          subject: true,
          class: {
            include: {
              members: {
                include: { student: true },
                orderBy: { student: { nis: "asc" } },
              },
            },
          },
        },
      },
      attachments: true,
      submissions: {
        include: {
          student: true,
          attachments: true,
        },
      },
    },
  });

  if (!assignment) {
    return <div className="p-8 text-center text-slate-500">Tugas tidak ditemukan.</div>;
  }

  return (
    <div className="space-y-6">
      <PageHeader
        title={`Pemeriksaan Tugas: ${assignment.title}`}
        description={`Mata Pelajaran ${assignment.teacherSubject.subject.name} • Kelas ${assignment.teacherSubject.class.name}`}
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Tugas Siswa", href: "/teacher/assignments" },
          { label: "Koreksi Jawaban" },
        ]}
      />

      <SubmissionsGradingClient assignment={assignment} />
    </div>
  );
}
