@@ -4,6 +4,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
44import { faPencilAlt } from '@fortawesome/free-solid-svg-icons/faPencilAlt' ;
55import RemoveSubuserButton from '@/components/server/users/RemoveSubuserButton' ;
66import EditSubuserModal from '@/components/server/users/EditSubuserModal' ;
7+ import { faUnlockAlt } from '@fortawesome/free-solid-svg-icons/faUnlockAlt' ;
8+ import { faUserLock } from '@fortawesome/free-solid-svg-icons/faUserLock' ;
9+ import classNames from 'classnames' ;
710
811interface Props {
912 subuser : Subuser ;
@@ -28,10 +31,29 @@ export default ({ subuser }: Props) => {
2831 < div className = { 'ml-4 flex-1' } >
2932 < p className = { 'text-sm' } > { subuser . email } </ p >
3033 </ div >
34+ < div className = { 'ml-4' } >
35+ < p className = { 'font-medium text-center' } >
36+
37+ < FontAwesomeIcon
38+ icon = { subuser . twoFactorEnabled ? faUserLock : faUnlockAlt }
39+ className = { classNames ( 'fa-fw' , {
40+ 'text-red-400' : ! subuser . twoFactorEnabled ,
41+ } ) }
42+ />
43+
44+ </ p >
45+ < p className = { 'text-2xs text-neutral-500 uppercase' } > 2FA Enabled</ p >
46+ </ div >
47+ < div className = { 'ml-4' } >
48+ < p className = { 'font-medium text-center' } >
49+ { subuser . permissions . filter ( permission => permission !== 'websocket.*' ) . length }
50+ </ p >
51+ < p className = { 'text-2xs text-neutral-500 uppercase' } > Permissions</ p >
52+ </ div >
3153 < button
3254 type = { 'button' }
3355 aria-label = { 'Edit subuser' }
34- className = { 'block text-sm p-2 text-neutral-500 hover:text-neutral-100 transition-colors duration-150 mr -4' }
56+ className = { 'block text-sm p-2 text-neutral-500 hover:text-neutral-100 transition-colors duration-150 mx -4' }
3557 onClick = { ( ) => setVisible ( true ) }
3658 >
3759 < FontAwesomeIcon icon = { faPencilAlt } />
0 commit comments