import { FieldRow, Select, TextInput, type SelectOption, Field, FieldLabel } from '@rocket.chat/fuselage'; import type { ComponentProps } from 'react'; import { useId, useMemo } from 'react'; import type { Control } from 'react-hook-form'; import { Controller, useWatch } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import type { TriggersPayload } from '../EditTrigger'; type ActionSenderType = ComponentProps & { control: Control; index: number; disabled?: boolean; }; export const ActionSender = ({ control, index, disabled, ...props }: ActionSenderType) => { const { t } = useTranslation(); const senderFieldId = useId(); const senderFieldName = `actions.${index}.params.sender` as const; const senderNameFieldName = `actions.${index}.params.name` as const; const senderNameFieldValue = useWatch({ control, name: senderFieldName }); const senderOptions: SelectOption[] = useMemo( () => [ ['queue', t('Impersonate_next_agent_from_queue')], ['custom', t('Custom_agent')], ], [t], ); return ( {t('Sender')} { return