import React from 'react'; import { useTranslation } from 'react-i18next'; import PropTypes from 'prop-types'; import * as toastr from 'toastr'; import { toastError } from '../../../util/apiNotification'; import AppContainer from '../../../services/AppContainer'; import AdminUsersContainer from '../../../services/AdminUsersContainer'; import { withUnstatedContainers } from '../../UnstatedUtils'; const ResendInvitationEmailButton = (props) => { const { appContainer, user } = props; const { t } = useTranslation(); const onClickSendInvitationEmailButton = async() => { try { const res = await appContainer.apiv3Put('users/send-invitation-email', { id: user._id }); const { failedToSendEmail } = res.data; if (failedToSendEmail == null) { const msg = `・${user.email}`; toastr.success(msg, 'Successfully sent invitation mail', { closeButton: true, progressBar: true, newestOnTop: false, showDuration: '100', hideDuration: '100', timeOut: '3000', }); } else { const msg = `email: ${failedToSendEmail.email}
reason: ${failedToSendEmail.reason}`; toastr.error(msg, 'Failure to send invitation mail', { closeButton: true, progressBar: true, newestOnTop: false, showDuration: '100', hideDuration: '100', timeOut: '0', }); } } catch (err) { toastError(err); } }; return ( ); }; const ResendInvitationEmailButtonWrapper = withUnstatedContainers(ResendInvitationEmailButton, [AppContainer, AdminUsersContainer]); ResendInvitationEmailButton.propTypes = { appContainer: PropTypes.instanceOf(AppContainer).isRequired, user: PropTypes.object.isRequired, }; export default ResendInvitationEmailButtonWrapper;