'use client' import type { ComponentProps, FC } from 'react' import type { TriggerDefaultValue, TriggerWithProvider } from '../types' import type { Event } from '@/app/components/tools/types' import { cn } from '@langgenius/dify-ui/cn' import { PreviewCardTrigger } from '@langgenius/dify-ui/preview-card' import * as React from 'react' import { useTranslation } from 'react-i18next' import { useGetLanguage } from '@/context/i18n' import BlockIcon from '../../block-icon' import { BlockEnum } from '../../types' import { BlockSelectorPreviewCardContent } from '../preview-card' type Props = Readonly<{ provider: TriggerWithProvider payload: Event previewCardHandle: TriggerPluginActionPreviewCardHandle disabled?: boolean isAdded?: boolean onSelect: (type: BlockEnum, trigger?: TriggerDefaultValue) => void }> export type TriggerPluginActionPreviewPayload = { provider: TriggerWithProvider payload: Event language: ReturnType } type PreviewCardHandle = NonNullable['handle']> export type TriggerPluginActionPreviewCardHandle = PreviewCardHandle const TriggerPluginActionItem: FC = ({ provider, payload, previewCardHandle, onSelect, disabled, isAdded, }) => { const { t } = useTranslation() const language = useGetLanguage() const previewDescriptionId = React.useId() const previewDescription = payload.description[language] const row = ( ) return ( <> {previewDescription && ( {previewDescription} )} ) } type TriggerPluginActionPreviewCardProps = { payload?: TriggerPluginActionPreviewPayload } export function TriggerPluginActionPreviewCard({ payload }: TriggerPluginActionPreviewCardProps) { if (!payload) return null return (
{payload.payload.label[payload.language]}
{payload.payload.description[payload.language]}
) } export default React.memo(TriggerPluginActionItem)