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

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

  const quiz = await prisma.quiz.findUnique({
    where: { id },
    include: {
      teacherSubject: {
        include: {
          subject: true,
          class: {
            include: {
              members: {
                include: { student: true },
                orderBy: { student: { nis: "asc" } },
              },
            },
          },
        },
      },
      questions: {
        include: { options: true },
      },
      attempts: {
        include: {
          student: true,
          answers: {
            include: { question: true },
          },
        },
      },
    },
  });

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

  return (
    <div className="space-y-6">
      <PageHeader
        title={`Hasil Ujian: ${quiz.title}`}
        description={`Mata Pelajaran ${quiz.teacherSubject.subject.name} • Kelas ${quiz.teacherSubject.class.name} • KKM: ${quiz.passingScore}`}
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Kuis & Ujian", href: "/teacher/quizzes" },
          { label: "Hasil Ujian & Koreksi Esai" },
        ]}
      />

      <QuizResultsClient quiz={quiz} />
    </div>
  );
}
