/** * Analysis Status Component * Shows real-time analysis progress */ interface AnalysisStatusProps { status: 'uploading' | 'processing'; progress: number; message: string; } export function AnalysisStatus({ status, progress, message }: AnalysisStatusProps) { const stages = [ { name: 'PDF Extraction', progress: 0.2 }, { name: 'Classification', progress: 0.4 }, { name: 'Model Routing', progress: 0.5 }, { name: 'Specialized Analysis', progress: 0.8 }, { name: 'Result Synthesis', progress: 1.0 } ]; const currentStage = stages.findIndex(s => progress < s.progress) || stages.length - 1; return (

{status === 'uploading' ? 'Uploading Document' : 'Analyzing Document'}

{message}

{/* Progress Bar */}
Progress {Math.round(progress * 100)}%
{/* Pipeline Stages */}

Processing Pipeline

{stages.map((stage, index) => { const isComplete = progress >= stage.progress; const isCurrent = index === currentStage; return (
{isComplete ? ( ) : isCurrent ? ( ) : ( {index + 1} )}

{stage.name}

); })}

Your document is being analyzed by multiple specialized AI models across different medical domains. This process may take 30-60 seconds depending on document complexity.

); }