import { devlog, makeRequest } from "@frontend/kitui"; import { PrivilegeMap } from "@root/model/privilege"; import { useEffect, useLayoutEffect, useRef } from "react"; export function useCustomTariffs({ onError, onNewUser, url }: { url: string; onNewUser: (response: PrivilegeMap) => void; onError: (error: any) => void; }) { const onNewUserRef = useRef(onNewUser); const onErrorRef = useRef(onError); useLayoutEffect(() => { onNewUserRef.current = onNewUser; onErrorRef.current = onError; }); useEffect(() => { const controller = new AbortController(); makeRequest({ url, signal: controller.signal, method: "get", useToken: true, }).then(result => { onNewUserRef.current(result); }).catch(error => { devlog("Error fetching custom tariffs", error); onErrorRef.current(error); }); return () => controller.abort(); }, [url]); }