1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-24 20:36:40 +07:00
vault-frontend/src/utils/context/UploaderContextProvider.tsx
2023-10-26 19:23:27 +06:00

31 lines
891 B
TypeScript

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<typeof useUploader>;
const UploaderContext = createContext<Uploader>({
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 }) => (
<UploaderContext.Provider value={value}>{children}</UploaderContext.Provider>
);
export const useUploaderContext = () => useContext(UploaderContext);