"use client";
import Loader from "@/components/admin/custom ui/Loader";
import DeliveryCostForm from "@/components/admin/deliveryCost/deliveryCostForm";
import ToastMessage from "@/components/common/ToastMessage";
import axios from "axios";
import { useEffect, useState, useCallback } from "react";

const DeliveryCostDetails = ({
  params,
}: {
  params: { deliveryCostUUID: string };
}) => {
  const [deliveryCost, setDeliveryCost] = useState<DeliveryCostType | null>(null);

  const fetchDeliveryCostDetails = useCallback(async () => {
    const response = await axios.get(
      `/api/admin/deliveryCost/${params.deliveryCostUUID}`
    );

    if (response.status === 200 || response.status === 201) {
      setDeliveryCost(response.data as DeliveryCostType);
    } else {
      ToastMessage("Failed to fetch category details", "error");
    }
  }, [params.deliveryCostUUID]);

  useEffect(() => {
    fetchDeliveryCostDetails();
  }, [fetchDeliveryCostDetails]);

  return !setDeliveryCost ? <Loader /> : <DeliveryCostForm initialData={deliveryCost} />;
};

export default DeliveryCostDetails;
