"use client";

import { useState } from "react";
import { useRouter } from "next/navigation";
import Link from "next/link";
import { Pencil, Trash2 } from "lucide-react";
import toast from "react-hot-toast";

export default function AdminInsuranceActions({ planId }: { planId: string }) {
  const router = useRouter();
  const [deleting, setDeleting] = useState(false);

  const handleDelete = async () => {
    if (!confirm("Delete this insurance plan? This cannot be undone.")) return;
    setDeleting(true);
    const res = await fetch(`/api/admin/insurance/${planId}`, { method: "DELETE" });
    if (res.ok) {
      toast.success("Plan deleted.");
      router.refresh();
    } else {
      toast.error("Failed to delete plan.");
    }
    setDeleting(false);
  };

  return (
    <div className="flex gap-2 mt-4 pt-4 border-t border-gray-100">
      <Link
        href={`/admin/insurance/${planId}/edit`}
        className="flex-1 flex items-center justify-center gap-1.5 text-xs font-medium text-gray-600 bg-gray-100 hover:bg-gray-200 px-3 py-2 rounded-lg transition-colors"
      >
        <Pencil className="h-3.5 w-3.5" />
        Edit
      </Link>
      <button
        onClick={handleDelete}
        disabled={deleting}
        className="flex-1 flex items-center justify-center gap-1.5 text-xs font-medium text-red-600 bg-red-50 hover:bg-red-100 px-3 py-2 rounded-lg transition-colors disabled:opacity-50"
      >
        <Trash2 className="h-3.5 w-3.5" />
        {deleting ? "Deleting…" : "Delete"}
      </button>
    </div>
  );
}
