import { redirect } from "next/navigation";
import { auth } from "@/lib/auth";
import { prisma } from "@/lib/prisma";
import Sidebar from "../../../_components/Sidebar";
import EditPatientForm from "./_components/EditPatientForm";

interface EditPatientPageProps {
  params: Promise<{ id: string }>;
}

export default async function EditPatientPage({
  params,
}: EditPatientPageProps) {
  const { id } = await params;

  const session = await auth();

  if (!session?.user?.id) {
    redirect("/login");
  }

  if (session.user.role !== "FAMILY") {
    redirect("/dashboard");
  }

  const patient = await prisma.patient.findUnique({
    where: { id },
    include: {
      medications: true,
      doctor: true,
    },
  });

  if (!patient || patient.familyId !== session.user.id) {
    redirect("/dashboard");
  }

  return (
    <div className="min-h-screen bg-zinc-950 text-zinc-100">
      <Sidebar />
      <main className="p-4 md:ml-64 md:p-8">
        <div className="mx-auto max-w-3xl">
          <div className="mb-8 text-center">
            <h1 className="text-2xl font-bold text-zinc-100">Edit Patient</h1>
            <p className="mt-1 text-sm text-zinc-400">
              Update patient details and manage medications.
            </p>
          </div>
          <EditPatientForm patient={patient} />
        </div>
      </main>
    </div>
  );
}

