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

{reasoningText}

)}
)}
setExpanded(!expanded) : undefined } > {getStatusIcon()} {getStatusText()} {status === "done" && summary && ( )}
{expanded && summary && status === "done" && (

Task Summary

{summary}

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

{summaryText}

)}
)}
); }