feat: update file uploader

This commit is contained in:
hanif salafi 2025-01-06 12:31:24 +07:00
parent 364d10a92c
commit e2193a8c9a
4 changed files with 18 additions and 14 deletions

View File

@ -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 = ({
<div className="space-y-3">
<div>
<Label>Video</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"mp4/*": [],
"mov/*": [],
@ -677,7 +677,7 @@ const EventModal = ({
</div>
<div>
<Label>Foto</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"image/*": [],
}}
@ -688,7 +688,7 @@ const EventModal = ({
</div>
<div>
<Label>Teks</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"pdf/*": [],
}}
@ -708,7 +708,7 @@ const EventModal = ({
downloadOnSavePress={true}
downloadFileExtension="webm"
/>
<FileUploaderMultiple
<FileUploader
accept={{
"mp3/*": [],
"wav/*": [],

View File

@ -922,7 +922,10 @@ export default function FormImage() {
// onChange={onChange}
// className="dark:text-black"
// />
<CustomEditor onChange={onChange} initialData={articleBody || value} />
<CustomEditor
onChange={onChange}
initialData={articleBody || value}
/>
)}
/>
{errors.description?.message && (

View File

@ -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<FileWithPreview[]>([]);
const { getRootProps, getInputProps } = useDropzone({
@ -124,4 +125,4 @@ const FileUploaderMultiple = ({ onDrop, accept, maxSize, label, className = "",
}
export default FileUploaderMultiple;
export default FileUploader;

View File

@ -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() {
<div className="space-y-3">
<div>
<Label>Video</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"mp4/*": [],
"mov/*": [],
@ -721,7 +721,7 @@ export default function FormTask() {
</div>
<div>
<Label>Foto</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"image/*": [],
}}
@ -732,7 +732,7 @@ export default function FormTask() {
</div>
<div>
<Label>Teks</Label>
<FileUploaderMultiple
<FileUploader
accept={{
"pdf/*": [],
}}
@ -752,7 +752,7 @@ export default function FormTask() {
downloadOnSavePress={true}
downloadFileExtension="webm"
/>
<FileUploaderMultiple
<FileUploader
accept={{
"mp3/*": [],
"wav/*": [],