import type { FC } from 'react' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { RiLoader2Line, RiStopCircleFill } from '@remixicon/react' import Tooltip from '@/app/components/base/tooltip' import { useStore } from '../store' import useCurrentVars from '../hooks/use-current-vars' import { WorkflowRunningStatus } from '@/app/components/workflow/types' import { NodeRunningStatus } from '@/app/components/workflow/types' import cn from '@/utils/classnames' const VariableInspectTrigger: FC = () => { const { t } = useTranslation() const showVariableInspectPanel = useStore(s => s.showVariableInspectPanel) const setShowVariableInspectPanel = useStore(s => s.setShowVariableInspectPanel) const workflowRunningData = useStore(s => s.workflowRunningData) const isRunning = useMemo(() => { if (!workflowRunningData) return false if (workflowRunningData.result.status === WorkflowRunningStatus.Running) return true return (workflowRunningData.tracing || []).some(tracingData => tracingData.status === NodeRunningStatus.Running) }, [workflowRunningData]) const { currentVars, clearCurrentVars, } = useCurrentVars() // ##TODD stop handle if (showVariableInspectPanel) return null return (