2022-04-08 07:00:46 -04:00
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
import { UserEmailData } from '../../../../../../types/user-email'
|
|
|
|
import ResendConfirmationEmailButton from './resend-confirmation-email-button'
|
2022-05-24 07:12:55 -04:00
|
|
|
import { ssoAvailableForInstitution } from '../../utils/sso'
|
2022-04-08 07:00:46 -04:00
|
|
|
|
|
|
|
type EmailProps = {
|
|
|
|
userEmailData: UserEmailData
|
|
|
|
}
|
|
|
|
|
|
|
|
function Email({ userEmailData }: EmailProps) {
|
|
|
|
const { t } = useTranslation()
|
|
|
|
|
2022-05-24 07:12:55 -04:00
|
|
|
const ssoAvailable = ssoAvailableForInstitution(
|
2022-05-30 06:18:44 -04:00
|
|
|
userEmailData.affiliation?.institution || null
|
2022-05-24 07:12:55 -04:00
|
|
|
)
|
|
|
|
|
2022-04-08 07:00:46 -04:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
{userEmailData.email}
|
2022-06-07 03:45:14 -04:00
|
|
|
{userEmailData.default ? (
|
|
|
|
<span className="small ms-1">
|
|
|
|
<span className="label label-info">Primary</span>
|
|
|
|
</span>
|
|
|
|
) : null}
|
2022-04-08 07:00:46 -04:00
|
|
|
{!userEmailData.confirmedAt && (
|
|
|
|
<div className="small">
|
|
|
|
<strong>
|
|
|
|
{t('unconfirmed')}.
|
2022-05-24 07:12:55 -04:00
|
|
|
{!ssoAvailable && <span> {t('please_check_your_inbox')}.</span>}
|
2022-04-08 07:00:46 -04:00
|
|
|
</strong>
|
|
|
|
<br />
|
2022-05-24 07:12:55 -04:00
|
|
|
{!ssoAvailable && (
|
2022-04-08 07:00:46 -04:00
|
|
|
<ResendConfirmationEmailButton email={userEmailData.email} />
|
|
|
|
)}
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{userEmailData.confirmedAt &&
|
|
|
|
userEmailData.affiliation?.institution.confirmed &&
|
2022-04-14 05:19:18 -04:00
|
|
|
userEmailData.affiliation.licence !== 'free' && (
|
2022-04-08 07:00:46 -04:00
|
|
|
<div className="small">
|
|
|
|
<span className="label label-primary">{t('professional')}</span>
|
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
</>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Email
|