"use client" import { useCallback, useEffect, useState } from "react" import { toast } from "sonner" import { ProjectDialog } from "@/components/project-dialog" import { Badge } from "@/components/ui/badge" import { fetchAIWorkflowUsage, type AIWorkflow, type AIWorkflowUsage, } from "@/lib/api/admin" export function WorkflowUsageDialog({ workflow, open, onOpenChange, }: { workflow: AIWorkflow | null open: boolean onOpenChange: (open: boolean) => void }) { const [usage, setUsage] = useState([]) const [loading, setLoading] = useState(false) const load = useCallback(async () => { if (!workflow || !open) return setLoading(true) try { setUsage((await fetchAIWorkflowUsage(workflow.id)) ?? []) } catch (error) { toast.error(error instanceof Error ? error.message : "加载使用情况失败") } finally { setLoading(false) } }, [open, workflow]) useEffect(() => { void load() }, [load]) return ( {loading ? (
正在加载使用情况…
) : usage.length ? (
{usage.map((item) => (
{item.aiAgentName}
固定关联 v{item.workflowVersion}
{item.enabled ? "启用" : "已停用"}
))}
) : (
暂未被任何 Agent 使用
)}
) }