import React from 'react'; import { useAtomValue } from 'jotai'; import { useTranslation } from 'next-i18next'; import PropTypes from 'prop-types'; import { CopyToClipboard } from 'react-copy-to-clipboard'; // import Button from 'react-bootstrap/es/Button'; import { Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap'; import AdminUsersContainer from '~/client/services/AdminUsersContainer'; import { toastError, toastSuccess, toastWarning } from '~/client/util/toastr'; import { isMailerSetupAtom } from '~/states/server-configurations'; import { withUnstatedContainers } from '../../UnstatedUtils'; class UserInviteModal extends React.Component { constructor(props) { super(props); this.state = { emailInputValue: '', sendEmail: false, invitedEmailList: null, isCreateUserButtonPushed: false, }; this.handleSubmit = this.handleSubmit.bind(this); this.handleInput = this.handleInput.bind(this); this.handleCheckBox = this.handleCheckBox.bind(this); this.onToggleModal = this.onToggleModal.bind(this); } onToggleModal() { this.props.adminUsersContainer.toggleUserInviteModal(); this.setState({ invitedEmailList: null }); } showToaster() { toastSuccess('Copied Mail and Password'); } showToasterByEmailList(emailList, toast) { let msg = ''; emailList.forEach((email) => { msg += `・${email}
`; }); switch (toast) { case 'success': msg = `User has been created
${msg}`; toastSuccess(msg); break; case 'warning': msg = `Existing email
${msg}`; toastWarning(msg); break; case 'error': toastError({ message: msg }); break; } } renderModalBody() { const { t } = this.props; return ( <>

{t('admin:user_management.invite_modal.description1')}
{t('admin:user_management.invite_modal.description2')}