{progress?.message}
{Math.round(progress?.percentage || 0)}%
{/* Sub-progress for chunks */}
{progress?.sub_progress && (
{progress.sub_progress.description}
{progress.sub_progress.current}/{progress.sub_progress.total}
)}
{/* Stage Indicators */}
{stages.map((stage, index) => (
= stage.percentage
? "text-primary"
: "text-muted-foreground"
)}
>
= stage.percentage
? "border-primary bg-primary/10"
: "border-muted"
)}>
{progress?.percentage >= stage.percentage ? (
) : (
{index + 1}
)}
{stage.label}
))}
{/* Time Estimation */}
{progress?.estimated_remaining && (
Time elapsed: {formatDuration(progress.time_elapsed)}
About {formatDuration(progress.estimated_remaining)} remaining
)}