import { Fragment, useState } from "react"; import Box from "@mui/material/Box"; import Link from "@mui/material/Link"; import List from "@mui/material/List"; import Button from "@mui/material/Button"; import ListItem from "@mui/material/ListItem"; import { styled } from "@mui/material/styles"; import IconButton from "@mui/material/IconButton"; import Typography from "@mui/material/Typography"; import ClearIcon from "@mui/icons-material/Clear"; import FileCopyIcon from "@mui/icons-material/FileCopy"; import Card from "@mui/material/Card"; import { useDropzone } from "react-dropzone"; import styles from "@/components/Forms/FileUploader/UploadMultipleFiles.module.css"; const FileUploaderMultiple = () => { // ** State const [files, setFiles] = useState([]); // ** Hooks const { getRootProps, getInputProps } = useDropzone({ onDrop: (acceptedFiles) => { setFiles(acceptedFiles.map((file) => Object.assign(file))); }, }); const renderFilePreview = (file) => { if (file.type.startsWith("image")) { return ( ); } else { return ; } }; const handleRemoveFile = (file) => { const uploadedFiles = files; const filtered = uploadedFiles.filter((i) => i.name !== file.name); setFiles([...filtered]); }; const fileList = files.map((file) => ( {renderFilePreview(file)} {file.name} handleRemoveFile(file)}> )); const handleLinkClick = (event) => { event.preventDefault(); }; const handleRemoveAllFiles = () => { setFiles([]); }; return ( <> Upload Multiple Files Drop files here or click to upload. Drop files here or click{" "} browse {" "} thorough your machine {files.length ? ( {fileList} Remove All ) : null} > ); }; export default FileUploaderMultiple;