"use client";
import { useEffect, useState } from "react";
import axiosInstance from "../axiosClient";
import { toast } from "react-toastify";

type Props = {
  endpoint: string;
  page?: any;
  select?: boolean;
};

export default function Usefetch({
  endpoint,
  page = 1,
  select = false,
}: Props) {
  const [data, setData] = useState<any>(null); // Store fetched data
  const [loading, setLoading] = useState<boolean>(true); // Store fetched data
  // const status = "status=sale";
  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await axiosInstance.get(`${endpoint}?page=${page}`);

        setData(select ? response?.data : response?.data?.data);
        setLoading(false);
      } catch (err: any) {
        toast.error(err.message || "Error fetching data");
        setLoading(false);
      }
    };

    fetchData();
  }, [endpoint, page]);
  return { data, loading };
}
