import { useState } from "react";
import { createPartyPayment, type PartyPaymentData } from "@/lib/services/partyPaymentService";
import { customizeToast, toast } from "@/lib/toast";

export default function usePartyPaymentService() {
  const [loading, setLoading] = useState(false);

  const createPayment = async (partyId: string, data: PartyPaymentData) => {
    setLoading(true);
    try {
      const response = await createPartyPayment(partyId, data);
      
      if (response?.data?.success) {
        customizeToast("Payment details saved successfully", "success");
        return { success: true, data: response.data };
      } else {
        customizeToast(response?.data?.message || "Failed to save payment details", "danger");
        return { success: false, error: response?.data?.message };
      }
    } catch (error: any) {
      console.error("Error creating party payment:", error);
      const errorMessage = error?.response?.data?.message || "Failed to save payment details. Please try again.";
      customizeToast(errorMessage, "danger");
      return { success: false, error: errorMessage };
    } finally {
      setLoading(false);
    }
  };

  return {
    loading,
    createPayment,
  };
}