"use client"; import { useState } from "react"; import { useDropzone } from "react-dropzone"; import { CloudUpload } from "lucide-react"; import { Icon } from "@iconify/react"; import { Button } from "@/components/ui/button"; import Image from "next/image"; interface FileWithPreview extends File { preview: string; } const UploadSingleFile = () => { const [files, setFiles] = useState([]); const { getRootProps, getInputProps } = useDropzone({ multiple: false, accept: { "image/*": [".png", ".jpg", ".jpeg", ".gif"], }, onDrop: (acceptedFiles) => { setFiles(acceptedFiles.map((file) => Object.assign(file))); }, }); const img = files.map((file) => ( {file.name} )); const closeTheFile = () => { setFiles([]); }; return (
{files.length ? (
{img}
) : (

Drop files here or click to upload.

(This is just a demo drop zone. Selected files are not actually uploaded.)
)}
); }; export default UploadSingleFile;