import React, { createContext, FC, useContext } from 'react'; import { EMPTY_FILE } from '~/constants/uploads'; import { useUploader } from '~/hooks/data/useUploader'; import { IFile } from '~/types'; export type Uploader = ReturnType; const UploaderContext = createContext({ files: [], filesAudios: [], filesImages: [], uploadFile: async () => EMPTY_FILE, uploadFiles: async () => {}, pending: {}, pendingAudios: [], pendingImages: [], isUploading: false, setFiles: (files: IFile[]) => files, setImages: (files: IFile[]) => files, setAudios: (files: IFile[]) => files, }); export const UploaderContextProvider: FC<{ value: Uploader; children; }> = ({ value, children }) => ( {children} ); export const useUploaderContext = () => useContext(UploaderContext);