import { Box, Button, Icon, TextAreaInput } from '@rocket.chat/fuselage'; import React, { useCallback, useState } from 'react'; import { validateEmail } from '../../../../lib/emailValidator'; import VerticalBar from '../../../components/VerticalBar'; import { useMethod } from '../../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; export function InviteUsers({ data, ...props }) { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const [text, setText] = useState(''); const sendInvites = useMethod('sendInvitationEmail'); const getEmails = useCallback((text) => text.split(/[\ ,;]+/i).filter((val) => validateEmail(val)), []); const handleClick = async () => { try { await sendInvites(getEmails(text)); dispatchToastMessage({ type: 'success', message: t('Emails_sent_successfully!') }); } catch (error) { dispatchToastMessage({ type: 'error', message: error.message }); } }; return ( {t('Send_invitation_email')} {t('Send_invitation_email_info')} setText(e.currentTarget.value)} /> ); }