import { createClient } from "@/lib/supabase/server";
import { requireUser } from "@/lib/auth/session";
import { PageHeader } from "@/components/layout/page-header";
import {
  AttendanceClient,
  type AttendanceApplication,
} from "./attendance-client";

export default async function Page({
  searchParams,
}: {
  searchParams: Promise<{ application?: string }>;
}) {
  await requireUser();
  const { application } = await searchParams;
  const supabase = await createClient();

  const { data } = await supabase
    .from("coaching_applications")
    .select("id, student_name, subject:coaching_subjects(name)")
    .eq("status", "Active")
    .order("student_name");

  const applications = (data as AttendanceApplication[] | null) ?? [];

  return (
    <div>
      <PageHeader title="Attendance" breadcrumb="Application / Attendance" />
      <AttendanceClient
        applications={applications}
        initialApplicationId={application}
      />
    </div>
  );
}
