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

export default async function StudentAssignmentsPage() {
  const user = await getSessionUser();
  if (!user || !user.classId || !user.studentId) return null;

  const assignments = await prisma.assignment.findMany({
    where: {
      teacherSubject: { classId: user.classId },
      isPublished: true,
    },
    include: {
      teacherSubject: {
        include: {
          subject: true,
          teacher: true,
        },
      },
      attachments: true,
      submissions: {
        where: { studentId: user.studentId },
      },
    },
    orderBy: { dueDate: "asc" },
  });

  return (
    <div className="space-y-6">
      <PageHeader
        title="Tugas Pembelajaran Saya"
        description="Daftar tugas yang harus diselesaikan, indikator batas waktu, dan catatan penilaian guru."
        breadcrumbs={[
          { label: "Dashboard", href: "/student/dashboard" },
          { label: "Tugas Saya" },
        ]}
      />

      <StudentAssignmentsClient initialAssignments={assignments} />
    </div>
  );
}
