import prisma from "@/lib/prisma";
import { PageHeader } from "@/components/layout/PageHeader";
import SchedulesClient from "./SchedulesClient";

export default async function AdminSchedulesPage() {
  const [schedules, classes, teacherSubjects] = await Promise.all([
    prisma.schedule.findMany({
      include: {
        teacherSubject: {
          include: {
            subject: true,
            teacher: true,
            class: true,
          },
        },
      },
      orderBy: [{ dayOfWeek: "asc" }, { startTime: "asc" }],
    }),
    prisma.class.findMany({ orderBy: { name: "asc" } }),
    prisma.teacherSubject.findMany({
      include: {
        subject: true,
        teacher: true,
        class: true,
      },
      orderBy: { subject: { name: "asc" } },
    }),
  ]);

  return (
    <div className="space-y-6">
      <PageHeader
        title="Jadwal Pelajaran Mingguan"
        description="Kelola jadwal jam mengajar per rombel, hari, ruang kelas, dan guru pengampu."
        breadcrumbs={[
          { label: "Dashboard", href: "/admin/dashboard" },
          { label: "Jadwal Pelajaran" },
        ]}
      />

      <SchedulesClient
        initialSchedules={schedules}
        classes={classes}
        teacherSubjects={teacherSubjects}
      />
    </div>
  );
}
