|
@@ -1,13 +1,12 @@
|
|
|
-import { useCallback, useMemo, useState } from 'react';
|
|
|
|
|
|
|
+import { useCallback, useState } from 'react';
|
|
|
|
|
|
|
|
import { useDropzone, Accept } from 'react-dropzone';
|
|
import { useDropzone, Accept } from 'react-dropzone';
|
|
|
import type { DropzoneState } from 'react-dropzone';
|
|
import type { DropzoneState } from 'react-dropzone';
|
|
|
|
|
|
|
|
-import { AcceptedUploadFileType } from '../../consts';
|
|
|
|
|
|
|
+import { AcceptedUploadFileType } from '../../../consts';
|
|
|
|
|
|
|
|
type FileDropzoneState = DropzoneState & {
|
|
type FileDropzoneState = DropzoneState & {
|
|
|
isUploading: boolean,
|
|
isUploading: boolean,
|
|
|
- fileUploadState: string,
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
type DropzoneEditor = {
|
|
type DropzoneEditor = {
|
|
@@ -46,41 +45,8 @@ export const useFileDropzone = (props: DropzoneEditor): FileDropzoneState => {
|
|
|
accept,
|
|
accept,
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- const fileUploadState = useMemo(() => {
|
|
|
|
|
-
|
|
|
|
|
- if (isUploading) {
|
|
|
|
|
- return 'dropzone-uploading';
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- switch (acceptedFileType) {
|
|
|
|
|
- case AcceptedUploadFileType.NONE:
|
|
|
|
|
- return 'dropzone-disabled';
|
|
|
|
|
-
|
|
|
|
|
- case AcceptedUploadFileType.IMAGE:
|
|
|
|
|
- if (dzState.isDragAccept) {
|
|
|
|
|
- return 'dropzone-accepted';
|
|
|
|
|
- }
|
|
|
|
|
- if (dzState.isDragReject) {
|
|
|
|
|
- return 'dropzone-mismatch-picture';
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
-
|
|
|
|
|
- case AcceptedUploadFileType.ALL:
|
|
|
|
|
- if (dzState.isDragAccept) {
|
|
|
|
|
- return 'dropzone-accepted';
|
|
|
|
|
- }
|
|
|
|
|
- if (dzState.isDragReject) {
|
|
|
|
|
- return 'dropzone-rejected';
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return '';
|
|
|
|
|
- }, [isUploading, dzState.isDragAccept, dzState.isDragReject, acceptedFileType]);
|
|
|
|
|
-
|
|
|
|
|
return {
|
|
return {
|
|
|
...dzState,
|
|
...dzState,
|
|
|
isUploading,
|
|
isUploading,
|
|
|
- fileUploadState,
|
|
|
|
|
};
|
|
};
|
|
|
};
|
|
};
|