import { ImageUploadProgress } from '../../types/image';
import { CheckCircle, AlertCircle, Loader } from 'lucide-react';
interface UploadProgressProps {
progress: ImageUploadProgress;
fileName: string;
}
export function UploadProgress({ progress, fileName }: UploadProgressProps) {
const getStatusIcon = () => {
switch (progress.status) {
case 'complete':
return ;
case 'error':
return ;
default:
return ;
}
};
const getStatusText = () => {
switch (progress.status) {
case 'uploading':
return 'Загрузка...';
case 'processing':
return 'Обработка...';
case 'complete':
return 'Загрузка завершена';
case 'error':
return progress.error || 'Сбой загрузки';
}
};
return (
{getStatusIcon()}
{progress.status === 'complete' && progress.imageUrl ? (
) : (
{fileName}
)}
{getStatusText()}
{(progress.status === 'uploading' || progress.status === 'processing') && (
)}
);
}