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

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

  const assignment = await prisma.assignment.findUnique({
    where: { id },
    include: {
      teacherSubject: {
        include: {
          subject: true,
          teacher: true,
          class: true,
        },
      },
      attachments: true,
      submissions: {
        where: { studentId: user.studentId },
        include: { attachments: true },
      },
    },
  });

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

  const existingSubmission = assignment.submissions[0] || null;

  return (
    <div className="space-y-6">
      <PageHeader
        title={assignment.title}
        description={`Mata Pelajaran ${assignment.teacherSubject.subject.name} • Guru: ${assignment.teacherSubject.teacher.fullName}`}
        breadcrumbs={[
          { label: "Dashboard", href: "/student/dashboard" },
          { label: "Tugas Saya", href: "/student/assignments" },
          { label: "Pengumpulan Tugas" },
        ]}
      />

      <StudentAssignmentSubmitClient
        assignment={assignment}
        existingSubmission={existingSubmission}
      />
    </div>
  );
}
