'use client' import type { FC } from 'react' import type { TriggerDefaultValue, TriggerWithProvider } from '../types' import type { Event } from '@/app/components/tools/types' import * as React from 'react' import { useTranslation } from 'react-i18next' import Tooltip from '@/app/components/base/tooltip' import { useGetLanguage } from '@/context/i18n' import { cn } from '@/utils/classnames' import BlockIcon from '../../block-icon' import { BlockEnum } from '../../types' type Props = { provider: TriggerWithProvider payload: Event 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, { plugin_id: provider.plugin_id, provider_id: provider.name, provider_type: provider.type as string, provider_name: provider.name, event_name: payload.name, event_label: payload.label[language], event_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('addToolModal.added', { ns: 'tools' })}
)}
) } export default React.memo(TriggerPluginActionItem)