* [web] Replace `pro` with `commons` wording on institutional subscriptions Replaces the wording in several places: - subscription settings - email tags - features tooltip - institution portal GitOrigin-RevId: 1b9a0e51245ed8a41865300d9e9d555bc05e6c17
65 lines
1.9 KiB
TypeScript
65 lines
1.9 KiB
TypeScript
import { useTranslation } from 'react-i18next'
|
|
import { UserEmailData } from '../../../../../../types/user-email'
|
|
import { ssoAvailableForInstitution } from '../../utils/sso'
|
|
import OLBadge from '@/shared/components/ol/ol-badge'
|
|
import ResendConfirmationCodeModal from '@/features/settings/components/emails/resend-confirmation-code-modal'
|
|
import { useUserEmailsContext } from '@/features/settings/context/user-email-context'
|
|
|
|
type EmailProps = {
|
|
userEmailData: UserEmailData
|
|
}
|
|
|
|
function Email({ userEmailData }: EmailProps) {
|
|
const { t } = useTranslation()
|
|
const {
|
|
state,
|
|
setLoading: setUserEmailsContextLoading,
|
|
getEmails,
|
|
} = useUserEmailsContext()
|
|
const ssoAvailable = ssoAvailableForInstitution(
|
|
userEmailData.affiliation?.institution || null
|
|
)
|
|
|
|
const isPrimary = userEmailData.default
|
|
const hasInstitutionalSubscription =
|
|
userEmailData.confirmedAt &&
|
|
userEmailData.affiliation?.institution.confirmed &&
|
|
userEmailData.affiliation.licence !== 'free'
|
|
const hasBadges = isPrimary || hasInstitutionalSubscription
|
|
|
|
return (
|
|
<>
|
|
{userEmailData.email}
|
|
{!userEmailData.confirmedAt && (
|
|
<div className="small">
|
|
<strong>{t('unconfirmed')}.</strong>
|
|
<br />
|
|
{!ssoAvailable && (
|
|
<ResendConfirmationCodeModal
|
|
email={userEmailData.email}
|
|
setGroupLoading={setUserEmailsContextLoading}
|
|
groupLoading={state.isLoading}
|
|
onSuccess={getEmails}
|
|
triggerVariant="link"
|
|
/>
|
|
)}
|
|
</div>
|
|
)}
|
|
{hasBadges && (
|
|
<div>
|
|
{isPrimary && (
|
|
<>
|
|
<OLBadge bg="info">Primary</OLBadge>{' '}
|
|
</>
|
|
)}
|
|
{hasInstitutionalSubscription && (
|
|
<OLBadge bg="primary">{t('commons')}</OLBadge>
|
|
)}
|
|
</div>
|
|
)}
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default Email
|