postio / libraries /helpers /src /utils /custom.fetch.tsx
Leon4gr45's picture
Upload folder using huggingface_hub (part 9)
57aa51e verified
Raw
History Blame Contribute Delete
942 Bytes
'use client';
import {
createContext,
FC,
ReactNode,
useContext,
useRef,
useState,
} from 'react';
import { customFetch, Params } from './custom.fetch.func';
import { useVariables } from '@gitroom/react/helpers/variable.context';
const FetchProvider = createContext(
customFetch(
// @ts-ignore
{
baseUrl: '',
beforeRequest: () => {},
afterRequest: () => {
return true;
},
} as Params
)
);
export const FetchWrapperComponent: FC<Params & { children: ReactNode }> = (
props
) => {
const { children, ...params } = props;
const { isSecured } = useVariables();
// @ts-ignore
const fetchData = useRef(
customFetch(params, undefined, undefined, isSecured)
);
return (
// @ts-ignore
<FetchProvider.Provider value={fetchData.current}>
{children}
</FetchProvider.Provider>
);
};
export const useFetch = () => {
return useContext(FetchProvider);
};