'use client'; import { AlertCircle, Loader } from 'lucide-react'; import { Progress } from '@/components/ui/progress'; import type { TicketProcessingProgress } from '../../../hooks/useTicketDetailEvents'; import { TicketActionCard } from './TicketActionCard'; interface ProcessingTicketActionProps { progress: TicketProcessingProgress | null; errorMessage: string | null; } function getProgressMessage(progress: TicketProcessingProgress | null) { if (!progress) return 'Waiting for analysis updates.'; if (progress.progress >= 95) { return progress.message ?? 'Rendering annotated video...'; } return progress.message ?? 'Processing video.'; } export function ProcessingTicketAction({ progress, errorMessage, }: ProcessingTicketActionProps) { const progressValue = progress ? progress.progress : 0; const hasProgress = Boolean(progress); return (
{getProgressMessage(progress)} {hasProgress ? `${Math.round(progressValue)}%` : '--'}
{errorMessage && (
{errorMessage}
)}
); }