import React from 'react'; import { WidgetContainer } from './WidgetContainer'; import { Card, CardContent, CardHeader } from '@/components/ui/index'; import { AlertCircle, CheckCircle } from 'lucide-react'; interface TaskInfo { id: string; type: string; status: 'running' | 'success' | 'failed' | 'pending'; node: string; startTime?: string; endTime?: string; description: string; } interface TaskSummaryWidgetProps { tasks: TaskInfo[]; onRefresh?: () => void; isLoading?: boolean; } export function TaskSummaryWidget({ tasks, onRefresh, isLoading }: TaskSummaryWidgetProps) { const runningCount = tasks.filter((t) => t.status === 'running').length; const successCount = tasks.filter((t) => t.status === 'success').length; const failedCount = tasks.filter((t) => t.status === 'failed').length; return (
{runningCount}
Running
{successCount}
Success
{failedCount}
Failed
{tasks.slice(0, 5).map((task) => (
{task.status === 'running' ? (
) : task.status === 'success' ? ( ) : ( )} {task.type}
{task.status}
Node {task.node}
{task.description}
))}
{tasks.length > 5 && (
+{tasks.length - 5} more tasks
)} ); }