'use client'; import { blobToImage } from '@/utility/blob'; import { useRef, useState } from 'react'; import { CopyExif } from '@/lib/CopyExif'; import exifr from 'exifr'; import { clsx } from 'clsx/lite'; import { ACCEPTED_PHOTO_FILE_TYPES } from '@/photo'; import { FiUploadCloud } from 'react-icons/fi'; import { MAX_IMAGE_SIZE } from '@/services/next-image'; import ProgressButton from './primitives/ProgressButton'; const INPUT_ID = 'file'; export default function ImageInput({ onStart, onBlobReady, shouldResize, maxSize = MAX_IMAGE_SIZE, quality = 0.8, loading, showUploadStatus = true, debug, }: { onStart?: () => void onBlobReady?: (args: { blob: Blob, extension?: string, hasMultipleUploads?: boolean, isLastBlob?: boolean, }) => Promise shouldResize?: boolean maxSize?: number quality?: number loading?: boolean showUploadStatus?: boolean debug?: boolean }) { const inputRef = useRef(null); const canvasRef = useRef(null); const [image, setImage] = useState(); const [filesLength, setFilesLength] = useState(0); const [fileUploadIndex, setFileUploadIndex] = useState(0); const [fileUploadName, setFileUploadName] = useState(''); return (
{showUploadStatus && filesLength > 0 &&
{fileUploadName}
}
); }