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

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

  const teacherSubjects = await prisma.teacherSubject.findMany({
    where: { teacherId: user.teacherId },
    include: {
      subject: true,
      class: {
        include: {
          members: {
            include: { student: true },
            orderBy: { student: { nis: "asc" } },
          },
        },
      },
      attendances: {
        include: {
          records: {
            include: { student: true },
          },
        },
        orderBy: { meetingNumber: "desc" },
      },
    },
  });

  return (
    <div className="space-y-6">
      <PageHeader
        title="Presensi & Kehadiran Siswa"
        description="Pencatatan daftar hadir per pertemuan pembelajaran (Hadir, Sakit, Izin, Alpa) dan rekapitulasi kehadiran."
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Presensi Pertemuan" },
        ]}
      />

      <TeacherAttendanceClient teacherSubjects={teacherSubjects} />
    </div>
  );
}
