"use client";

import { useParams } from "next/navigation";
import useSWR from "swr";
import DoctorForm from "@/components/admin/DoctorForm";
import DoctorsService from "@/services/doctors.service";
import type { Doctor } from "@/types/doctor.type";
import { Skeleton } from "@/components/ui/skeleton";

export default function EditDoctorPage() {
  const params = useParams();
  const doctorId = params.id as string;

  const { data: doctor, isLoading } = useSWR<Doctor>(
    doctorId ? `/admin/doctors/${doctorId}` : null,
    () => DoctorsService.getById(doctorId)
  );

  if (isLoading) {
    return (
      <div className="space-y-6">
        <div className="flex items-center justify-between">
          <div>
            <Skeleton className="h-8 w-48" />
            <Skeleton className="h-4 w-64 mt-2" />
          </div>
          <Skeleton className="h-10 w-24" />
        </div>
        <div className="grid gap-6 md:grid-cols-2">
          <Skeleton className="h-96" />
          <Skeleton className="h-96" />
        </div>
      </div>
    );
  }

  if (!doctor) {
    return (
      <div className="text-center py-12">
        <h1 className="text-2xl font-bold text-slate-900">Dokter tidak ditemukan</h1>
        <p className="text-slate-500 mt-2">Dokter dengan ID tersebut tidak ada.</p>
      </div>
    );
  }

  return <DoctorForm doctor={doctor} mode="edit" />;
}
