"use client" import { useEffect } from "react" import type { AnalysisTask } from "@/types/ai-assistant" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" function statusBadgeClass(status: AnalysisTask["status"]) { const map: Record = { completed: "text-green-600 bg-green-50 border-green-200", running: "text-blue-600 bg-blue-50 border-blue-200", pending: "text-yellow-600 bg-yellow-50 border-yellow-200", failed: "text-red-600 bg-red-50 border-red-200", } return map[status] } export default function TaskList({ tasks, onTick, }: { tasks: AnalysisTask[] onTick?: () => void }) { // 进度模拟:外部可传递 onTick 驱动 useEffect(() => { if (!onTick) return const timer = setInterval(() => onTick(), 1200) return () => clearInterval(timer) }, [onTick]) return (
{tasks.map((task) => (
{task.name} {task.status === "pending" ? "等待中" : task.status === "running" ? "分析中" : task.status === "completed" ? "已完成" : "失败"}

数据源: {task.database}

{task.description &&

{task.description}

}
创建于 {new Date(task.createdAt).toLocaleString("zh-CN")} {task.completedAt && <> · 完成于 {new Date(task.completedAt).toLocaleString("zh-CN")}}
{task.reportUrl && ( )} ))}
) }