fix:input file validator
This commit is contained in:
parent
f8829985f6
commit
5418d97ad5
|
|
@ -19,11 +19,18 @@ interface FileUploaderProps {
|
||||||
isMultiple?: boolean;
|
isMultiple?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultiple = true }: FileUploaderProps) => {
|
const FileUploader = ({
|
||||||
|
onDrop,
|
||||||
|
accept,
|
||||||
|
maxSize,
|
||||||
|
label,
|
||||||
|
className = "",
|
||||||
|
isMultiple = true,
|
||||||
|
}: FileUploaderProps) => {
|
||||||
const [files, setFiles] = useState<FileWithPreview[]>([]);
|
const [files, setFiles] = useState<FileWithPreview[]>([]);
|
||||||
|
|
||||||
const { getRootProps, getInputProps } = useDropzone({
|
const { getRootProps, getInputProps } = useDropzone({
|
||||||
accept,
|
accept: accept,
|
||||||
maxSize: maxSize * 1024 * 1024,
|
maxSize: maxSize * 1024 * 1024,
|
||||||
onDrop: (acceptedFiles) => {
|
onDrop: (acceptedFiles) => {
|
||||||
const mappedFiles = acceptedFiles.map((file) => Object.assign(file));
|
const mappedFiles = acceptedFiles.map((file) => Object.assign(file));
|
||||||
|
|
@ -111,10 +118,7 @@ const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultip
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<div>{fileList}</div>
|
<div>{fileList}</div>
|
||||||
<div className=" flex justify-between gap-2">
|
<div className=" flex justify-between gap-2">
|
||||||
<Button
|
<Button color="destructive" onClick={handleRemoveAllFiles}>
|
||||||
color="destructive"
|
|
||||||
onClick={handleRemoveAllFiles}
|
|
||||||
>
|
|
||||||
Remove All
|
Remove All
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -122,7 +126,6 @@ const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultip
|
||||||
) : null}
|
) : null}
|
||||||
</Fragment>
|
</Fragment>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
export default FileUploader;
|
export default FileUploader;
|
||||||
|
|
@ -805,8 +805,7 @@ export default function FormTask() {
|
||||||
<Label>{t("audio-visual")}</Label>
|
<Label>{t("audio-visual")}</Label>
|
||||||
<FileUploader
|
<FileUploader
|
||||||
accept={{
|
accept={{
|
||||||
"mp4/*": [],
|
"video/*": [],
|
||||||
"mov/*": [],
|
|
||||||
}}
|
}}
|
||||||
maxSize={100}
|
maxSize={100}
|
||||||
label="Upload file dengan format .mp4 atau .mov."
|
label="Upload file dengan format .mp4 atau .mov."
|
||||||
|
|
@ -828,7 +827,7 @@ export default function FormTask() {
|
||||||
<Label>{t("text")}</Label>
|
<Label>{t("text")}</Label>
|
||||||
<FileUploader
|
<FileUploader
|
||||||
accept={{
|
accept={{
|
||||||
"pdf/*": [],
|
"application/pdf": [],
|
||||||
}}
|
}}
|
||||||
maxSize={100}
|
maxSize={100}
|
||||||
label="Upload file dengan format .pdf."
|
label="Upload file dengan format .pdf."
|
||||||
|
|
@ -848,8 +847,7 @@ export default function FormTask() {
|
||||||
/>
|
/>
|
||||||
<FileUploader
|
<FileUploader
|
||||||
accept={{
|
accept={{
|
||||||
"mp3/*": [],
|
"audio/*": [],
|
||||||
"wav/*": [],
|
|
||||||
}}
|
}}
|
||||||
maxSize={100}
|
maxSize={100}
|
||||||
label="Upload file dengan format .mp3 atau .wav."
|
label="Upload file dengan format .mp3 atau .wav."
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue