"use client"; import { FileIcon, FileImageIcon, FileSpreadsheetIcon, FileTextIcon, UploadIcon, XIcon } from "lucide-react"; import Image from "next/image"; import { useEffect, useState } from "react"; import { DropzoneOptions } from "react-dropzone"; import { cn } from "../../utils"; import { FileInput, FileUploader } from "./FileUploader"; type MultiFileUploaderProps = { files: File[]; setFiles: (files: File[]) => void; }; const dropzone = { multiple: false, maxSize: 100 * 1024 * 1024, preventDropOnDocument: false, accept: { "application/images": [".jpg", ".jpeg", ".png", ".gif", ".webp", ".svg", ".docx", ".xslx", ".pdf", ".txt", ".md"], }, } satisfies DropzoneOptions; export default function MultiFileUploader({ files, setFiles }: MultiFileUploaderProps) { const uploadFiles = (newFiles: File[] | null) => { if (!newFiles) return; setFiles([...files, ...newFiles]); }; const handleRemoveFile = (indexToRemove: number) => { setFiles(files.filter((_, index) => index !== indexToRemove)); }; return (