import React, { useState } from 'react'; import { useUpload } from '@nice/client'; // Assuming the previous hook is in this file const FileUploadComponent: React.FC = () => { const [selectedFiles, setSelectedFiles] = useState([]); const { upload, pauseUpload, resumeUpload, progress, errors } = useUpload({ // Optional configuration baseUrl: "http://localhost:3000/upload", onProgress: (progressInfo) => { console.log('Upload progress:', progressInfo); }, onError: (error) => { console.error('Upload error:', error); } }); const handleFileSelect = (event: React.ChangeEvent) => { if (event.target.files) { setSelectedFiles(Array.from(event.target.files)); } }; const handleUpload = async () => { try { await upload(selectedFiles); alert('Upload completed successfully!'); } catch (error) { console.error('Upload failed:', error); } }; const renderProgressBar = (fileName: string) => { const fileProgress = progress[fileName]; if (!fileProgress) return null; return (

{fileName}

{fileProgress.percentage.toFixed(2)}% {errors[fileName] && (

Error: {errors[fileName].message}

)}
); }; return (

Upload Progress

{selectedFiles.map(file => renderProgressBar(file.name))}
); }; export default FileUploadComponent;