"use client"; import { IconAlertTriangle, IconLoader2 } from "@tabler/icons-react"; import type { PrepareSummary } from "@/lib/prepare/summarize"; export function PrepareStatusSection({ summary }: { summary: PrepareSummary }) { if (summary.phase === "idle" || summary.phase === "ready") return null; if (summary.phase === "resuming") return ; if (summary.phase === "preparing" || summary.phase === "preparing_fallback") { return ; } if (summary.phase === "failed") return ; return null; } function ResumingRow() { return (
Resuming session
Reconnecting to the existing environment…
); } function PreparingRow({ summary }: { summary: PrepareSummary }) { const stepLabel = summary.current?.name ?? "Preparing..."; const stepNumber = Math.min(summary.currentIndex + 1, summary.totalSteps); return (
Preparing environment
{summary.totalSteps > 0 ? `Step ${stepNumber} of ${summary.totalSteps}: ${stepLabel}` : stepLabel}
{summary.phase === "preparing_fallback" && summary.fallbackWarning && (
{summary.fallbackWarning}
)}
); } function FailedRow({ summary }: { summary: PrepareSummary }) { return (
Environment preparation failed
{summary.failedStep && (
Failed at: {summary.failedStep.name}
)} {summary.failedStep?.error && (
          {summary.failedStep.error}
        
)}
); }