import { UploadFormSchemaType } from '@/components/file-upload-dialog'; import { useSetModalState } from '@/hooks/common-hooks'; import { useUploadFile } from '@/hooks/use-file-request'; import { useCallback } from 'react'; import { useGetFolderId } from './hooks'; export const useHandleUploadFile = () => { const { visible: fileUploadVisible, hideModal: hideFileUploadModal, showModal: showFileUploadModal, } = useSetModalState(); const { uploadFile, loading } = useUploadFile(); const id = useGetFolderId(); const onFileUploadOk = useCallback( async ({ fileList }: UploadFormSchemaType): Promise => { if (fileList.length > 0) { const ret: number = await uploadFile({ fileList, parentId: id }); if (ret === 0) { hideFileUploadModal(); } return ret; } }, [uploadFile, hideFileUploadModal, id], ); return { fileUploadLoading: loading, onFileUploadOk, fileUploadVisible, hideFileUploadModal, showFileUploadModal, }; };