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

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

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

  return (
    <div className="space-y-6">
      <PageHeader
        title="Materi Pembelajaran Digital"
        description="Buat modul ajar, unggah dokumen LKPD/PDF, dan bagikan materi interaktif kepada siswa."
        breadcrumbs={[
          { label: "Dashboard", href: "/teacher/dashboard" },
          { label: "Materi Pembelajaran" },
        ]}
      />

      <MaterialsClient
        initialMaterials={materials}
        teacherSubjects={teacherSubjects}
      />
    </div>
  );
}
