adminFront/src/utils/hooks/useDiscounts.ts

31 lines
1008 B
TypeScript
Raw Normal View History

import { Discount, GetDiscountResponse } from "@root/model/discount";
import { authStore } from "@root/stores/auth";
import { useEffect } from "react";
const makeRequest = authStore.getState().makeRequest;
export default function useDiscounts({ onError, onNewDiscounts }: {
onNewDiscounts: (response: Discount[]) => void;
onError?: (error: any) => void;
}) {
useEffect(() => {
const controller = new AbortController();
makeRequest<never, GetDiscountResponse>({
url: "https://admin.pena.digital/price/discounts",
method: "get",
useToken: true,
bearer: true,
signal: controller.signal,
}).then(result => {
console.log("New discounts", result);
onNewDiscounts(result.Discounts);
}).catch(error => {
console.log("Error fetching discounts", error);
onError?.(error);
});
return () => controller.abort();
}, [onError, onNewDiscounts]);
}