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

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

  const [teacherSubjects, quizzes] = await Promise.all([
    prisma.teacherSubject.findMany({
      where: { teacherId: user.teacherId },
      include: {
        subject: true,
        class: true,
      },
    }),
    prisma.quiz.findMany({
      where: {
        teacherSubject: { teacherId: user.teacherId },
      },
      include: {
        teacherSubject: {
          include: {
            subject: true,
            class: true,
          },
        },
        questions: true,
        attempts: true,
      },
      orderBy: { createdAt: "desc" },
    }),
  ]);

  return (
    <div className="space-y-6">
      <PageHeader
        title="Bank Soal & Ujian Online (CBT)"
        description="Kelola bank soal asesmen, atur durasi timer ujian, acak soal & opsi, serta pantau hasil nilai siswa."
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Kuis & Ujian (CBT)" },
        ]}
      />

      <TeacherQuizzesClient
        initialQuizzes={quizzes}
        teacherSubjects={teacherSubjects}
      />
    </div>
  );
}
