mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-12 13:21:37 -05:00
12326b420d
GitOrigin-RevId: 51158acccc9967794b2192791961561d43274979
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import { useTranslation } from 'react-i18next'
|
|
import { User } from '../../../../../../types/group-management/user'
|
|
import MaterialIcon from '@/shared/components/material-icon'
|
|
|
|
type ManagedUserStatusProps = {
|
|
user: User
|
|
}
|
|
export default function ManagedUserStatus({ user }: ManagedUserStatusProps) {
|
|
const { t } = useTranslation()
|
|
const managedUserInvite = (
|
|
<span className="security-state-invite-pending">
|
|
<MaterialIcon type="schedule" accessibilityLabel={t('pending_invite')} />
|
|
|
|
{t('managed')}
|
|
</span>
|
|
)
|
|
|
|
const managedUserAccepted = (
|
|
<span className="security-state-managed">
|
|
<MaterialIcon type="check" accessibilityLabel={t('managed')} />
|
|
|
|
{t('managed')}
|
|
</span>
|
|
)
|
|
const managedUserNotAccepted = (
|
|
<span className="security-state-not-managed">
|
|
<MaterialIcon type="close" accessibilityLabel={t('not_managed')} />
|
|
|
|
{t('managed')}
|
|
</span>
|
|
)
|
|
|
|
if (user.isEntityAdmin) {
|
|
return <span className="security-state-group-admin" />
|
|
}
|
|
if (user.invite) {
|
|
return managedUserInvite
|
|
}
|
|
return user.enrollment?.managedBy
|
|
? managedUserAccepted
|
|
: managedUserNotAccepted
|
|
}
|