From e2193a8c9ac305726ea8f34d9b99e36b010f6841 Mon Sep 17 00:00:00 2001 From: hanif salafi Date: Mon, 6 Jan 2025 12:31:24 +0700 Subject: [PATCH] feat: update file uploader --- .../contributor/agenda-setting/event-modal.tsx | 10 +++++----- components/form/content/image-form.tsx | 5 ++++- .../shared/{file-uploaded.tsx => file-uploader.tsx} | 7 ++++--- components/form/task/task-form.tsx | 10 +++++----- 4 files changed, 18 insertions(+), 14 deletions(-) rename components/form/shared/{file-uploaded.tsx => file-uploader.tsx} (95%) diff --git a/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx index 9853795f..513c743f 100644 --- a/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx +++ b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx @@ -47,7 +47,7 @@ import { saveAgendaSettings } from "@/service/agenda-setting/agenda-setting"; import { Checkbox } from "@/components/ui/checkbox"; import { getUserLevelForAssignments } from "@/service/task"; import { AudioRecorder } from "react-audio-voice-recorder"; -import FileUploaderMultiple from "@/components/form/shared/file-uploaded"; +import FileUploader from "@/components/form/shared/file-uploader"; import { Upload } from "tus-js-client"; const schema = z.object({ @@ -665,7 +665,7 @@ const EventModal = ({
-
-
- - - + )} /> {errors.description?.message && ( diff --git a/components/form/shared/file-uploaded.tsx b/components/form/shared/file-uploader.tsx similarity index 95% rename from components/form/shared/file-uploaded.tsx rename to components/form/shared/file-uploader.tsx index dbe78e09..e5fd8875 100644 --- a/components/form/shared/file-uploaded.tsx +++ b/components/form/shared/file-uploader.tsx @@ -10,15 +10,16 @@ interface FileWithPreview extends File { preview: string; } -interface FileUploaderMultipleProps { +interface FileUploaderProps { onDrop: (files: FileWithPreview[]) => void; accept: Accept; maxSize: number; label: string; className?: string; + isMultiple?: boolean; } -const FileUploaderMultiple = ({ onDrop, accept, maxSize, label, className = "", }: FileUploaderMultipleProps) => { +const FileUploader = ({ onDrop, accept, maxSize, label, className = "", isMultiple = true }: FileUploaderProps) => { const [files, setFiles] = useState([]); const { getRootProps, getInputProps } = useDropzone({ @@ -124,4 +125,4 @@ const FileUploaderMultiple = ({ onDrop, accept, maxSize, label, className = "", } -export default FileUploaderMultiple; \ No newline at end of file +export default FileUploader; \ No newline at end of file diff --git a/components/form/task/task-form.tsx b/components/form/task/task-form.tsx index 40746c9a..eaa2fb48 100644 --- a/components/form/task/task-form.tsx +++ b/components/form/task/task-form.tsx @@ -34,7 +34,7 @@ import { } from "@/components/ui/dialog"; import { ChevronDown, ChevronUp } from "lucide-react"; import { AudioRecorder } from "react-audio-voice-recorder"; -import FileUploaderMultiple from "@/components/form/shared/file-uploaded"; +import FileUploader from "@/components/form/shared/file-uploader"; import { Upload } from "tus-js-client"; import { error } from "@/config/swal"; @@ -709,7 +709,7 @@ export default function FormTask() {
-
-
- -