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 ( {file.name} ); } 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
Upload img Drop files here or click to upload. Drop files here or click{" "} browse {" "} thorough your machine
{files.length ? ( {fileList}
) : null}
); }; export default FileUploaderMultiple;