import { Box, Button, Icon, States, StatesAction, StatesActions, StatesSubtitle, StatesTitle, TextAreaInput } from '@rocket.chat/fuselage'; import { useTranslation, useRoute } from '@rocket.chat/ui-contexts'; import type { ReactElement, ChangeEvent, ComponentProps } from 'react'; import React, { useCallback, useState } from 'react'; import { validateEmail } from '../../../../lib/emailValidator'; import { ContextualbarScrollableContent } from '../../../components/Contextualbar'; import { useSendInvitationEmailMutation } from './hooks/useSendInvitationEmailMutation'; import { useSmtpConfig } from './hooks/useSmtpConfig'; type InviteUsersProps = ComponentProps; const InviteUsers = (props: InviteUsersProps): ReactElement => { const t = useTranslation(); const [text, setText] = useState(''); const getEmails = useCallback((text) => text.split(/[\ ,;]+/i).filter((val: string) => validateEmail(val)), []); const adminRouter = useRoute('admin-settings'); const sendInvitationMutation = useSendInvitationEmailMutation(); const isSmtpEnabled = useSmtpConfig(); const handleClick = () => { sendInvitationMutation.mutate({ emails: getEmails(text) }); }; if (!isSmtpEnabled) { return ( {t('SMTP_Server_Not_Setup_Title')} {t('SMTP_Server_Not_Setup_Description')} adminRouter.push({ group: 'Email' })}> {t('Setup_SMTP')} ); } return ( {t('Send_invitation_email')} {t('Send_invitation_email_info')} ): void => setText(e.currentTarget.value)} /> ); }; export default InviteUsers;