"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" && (
)}
{summaryText && status === "done" && (
{showSummary && (
{summaryText}
)}
)}
);
}