'use client' import type { FC } from 'react' import React from 'react' import type { TriggerWithProvider } from '../types' import type { Trigger } from '@/app/components/tools/types' import { BlockEnum } from '../../types' import type { TriggerDefaultValue } from '../types' import Tooltip from '@/app/components/base/tooltip' import { useGetLanguage } from '@/context/i18n' import BlockIcon from '../../block-icon' import cn from '@/utils/classnames' import { useTranslation } from 'react-i18next' type Props = { provider: TriggerWithProvider payload: Trigger disabled?: boolean isAdded?: boolean onSelect: (type: BlockEnum, trigger?: TriggerDefaultValue) => void } const TriggerPluginActionItem: FC = ({ provider, payload, onSelect, disabled, isAdded, }) => { const { t } = useTranslation() const language = useGetLanguage() return (
{payload.label[language]}
{payload.description[language]}
)} >
{ if (disabled) return const params: Record = {} if (payload.parameters) { payload.parameters.forEach((item: any) => { params[item.name] = '' }) } onSelect(BlockEnum.TriggerPlugin, { provider_id: provider.id, provider_type: provider.type as string, provider_name: provider.name, trigger_name: payload.name, trigger_label: payload.label[language], trigger_description: payload.description[language], plugin_unique_identifier: provider.plugin_unique_identifier, title: payload.label[language], is_team_authorization: provider.is_team_authorization, output_schema: payload.output_schema || {}, paramSchemas: payload.parameters, params, meta: provider.meta, }) }} >
{payload.label[language]}
{isAdded && (
{t('tools.addToolModal.added')}
)}
) } export default React.memo(TriggerPluginActionItem)