import { useEffect, useState } from "react"; import axios from "axios"; export type Privilege = { createdAt: string; description: string; isDeleted: boolean; name: string; price: string; privilegeId: string; serviceKey: string; type: string; updatedAt: string; value: string; _id: string; }; type UsePrivilegies = { privilegies: Record<"Шаблонизатор", Privilege[]> | undefined; isError: boolean; isLoading: boolean; errorMessage: string; }; export const usePrivilegies = (): UsePrivilegies => { const [privilegies, setPrivilegies] = useState>(); const [isLoading, setIsLoading] = useState(false); const [isError, setIsError] = useState(false); const [errorMessage, setErrorMessage] = useState(""); useEffect(() => { const getPrivilegies = async () => { const { data } = await axios>({ method: "get", url: "https://admin.pena.digital/strator/privilege/service", }); return data; }; setIsLoading(true); getPrivilegies() .then(setPrivilegies) .catch(() => { setIsError(true); setErrorMessage("Ошибка при получении привилегий"); }) .finally(() => setIsLoading(false)); }, []); return { privilegies, isError, isLoading, errorMessage }; };