fix:input file validator

This commit is contained in:
Rama Priyanto 2025-06-11 12:26:16 +07:00
parent f8829985f6
commit 5418d97ad5
2 changed files with 110 additions and 109 deletions

View File

@ -19,11 +19,18 @@ interface FileUploaderProps {
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 { getRootProps, getInputProps } = useDropzone({
accept,
accept: accept,
maxSize: maxSize * 1024 * 1024,
onDrop: (acceptedFiles) => {
const mappedFiles = acceptedFiles.map((file) => Object.assign(file));
@ -111,10 +118,7 @@ const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultip
<Fragment>
<div>{fileList}</div>
<div className=" flex justify-between gap-2">
<Button
color="destructive"
onClick={handleRemoveAllFiles}
>
<Button color="destructive" onClick={handleRemoveAllFiles}>
Remove All
</Button>
</div>
@ -122,7 +126,6 @@ const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultip
) : null}
</Fragment>
);
}
};
export default FileUploader;

View File

@ -805,8 +805,7 @@ export default function FormTask() {
<Label>{t("audio-visual")}</Label>
<FileUploader
accept={{
"mp4/*": [],
"mov/*": [],
"video/*": [],
}}
maxSize={100}
label="Upload file dengan format .mp4 atau .mov."
@ -828,7 +827,7 @@ export default function FormTask() {
<Label>{t("text")}</Label>
<FileUploader
accept={{
"pdf/*": [],
"application/pdf": [],
}}
maxSize={100}
label="Upload file dengan format .pdf."
@ -848,8 +847,7 @@ export default function FormTask() {
/>
<FileUploader
accept={{
"mp3/*": [],
"wav/*": [],
"audio/*": [],
}}
maxSize={100}
label="Upload file dengan format .mp3 atau .wav."