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

export default async function TeacherAssignmentsPage() {
  const user = await getSessionUser();
  if (!user || !user.teacherId) return null;

  const [teacherSubjects, assignments] = await Promise.all([
    prisma.teacherSubject.findMany({
      where: { teacherId: user.teacherId },
      include: {
        subject: true,
        class: {
          include: { members: true },
        },
      },
    }),
    prisma.assignment.findMany({
      where: {
        teacherSubject: { teacherId: user.teacherId },
      },
      include: {
        teacherSubject: {
          include: {
            subject: true,
            class: { include: { members: true } },
          },
        },
        attachments: true,
        submissions: {
          include: { student: true },
        },
      },
      orderBy: [{ dueDate: "desc" }],
    }),
  ]);

  return (
    <div className="space-y-6">
      <PageHeader
        title="Manajemen Tugas Siswa"
        description="Buat penugasan baru, atur tenggat waktu (deadline), periksa lembar jawaban, dan berikan evaluasi nilai."
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Tugas Siswa" },
        ]}
      />

      <TeacherAssignmentsClient
        initialAssignments={assignments}
        teacherSubjects={teacherSubjects}
      />
    </div>
  );
}
