"use client"; import { useState } from "react"; import { CheckCircle, Loader2, ChevronDown, ChevronUp, FileText, MinusCircle, } from "lucide-react"; type TaskSummaryProps = { status: "loading" | "generating" | "done"; completed?: boolean; summary?: string; summaryText?: string; }; export function TaskSummary({ status, completed, summary, summaryText, }: TaskSummaryProps) { const [expanded, setExpanded] = useState(false); const [showSummary, setShowSummary] = useState(false); const getStatusIcon = () => { switch (status) { case "loading": return
; case "generating": return ( ); case "done": if (completed === false) { return ; } return ; } }; const getStatusText = () => { switch (status) { case "loading": return "Preparing task summary..."; case "generating": return "Generating summary..."; case "done": if (completed === false) { return "Task not completed"; } return "Task completed"; } }; return (
setExpanded(!expanded) : undefined } > {getStatusIcon()} {getStatusText()} {status === "done" && summary && ( )}
{expanded && summary && status === "done" && (

Task Summary

{summary}

)} {summaryText && status === "done" && (
{showSummary && (

{summaryText}

)}
)}
); }