'use client' import { Button } from '@langgenius/dify-ui/button' import { cn } from '@langgenius/dify-ui/cn' import { StatusDot } from '@langgenius/dify-ui/status-dot' import { useTranslation } from 'react-i18next' import Loading from '@/app/components/base/loading' import { buildIntegrationPath } from '@/app/components/integrations/routes' import { useRouter } from '@/next/navigation' import Divider from '../../base/divider' type Props = Readonly<{ disabled: boolean published: boolean isLoading: boolean outdated: boolean onConfigure: () => void disabledReason?: string }> const WorkflowToolConfigureButton = ({ disabled, published, isLoading, outdated, onConfigure, disabledReason, }: Props) => { const { t } = useTranslation() const router = useRouter() return ( <> {(!published || !isLoading) && (
{ if (!disabled && !published) onConfigure() }} >
$['common.workflowAsTool'], { ns: 'workflow' }) || ''} className={cn( 'shrink grow basis-0 truncate system-sm-medium text-text-secondary', !disabled && !published && 'group-hover:text-text-accent', )} > {t(($) => $['common.workflowAsTool'], { ns: 'workflow' })}
{!published && ( {t(($) => $['common.configureRequired'], { ns: 'workflow' })} )}
{disabledReason && (
{disabledReason}
)} {published && (
{outdated && (
{t(($) => $['common.workflowAsToolTip'], { ns: 'workflow' })}
)}
)}
)} {published && isLoading && (
)} ) } export default WorkflowToolConfigureButton