render()

in src/user-card/card.tsx [60:133]


  render() {
    const {children, info, className, user, avatarInfo, ...restProps} = this.props;
    const {translate} = this.context;
    const translations = this.props.translations;

    const classes = classNames(className, {});
    const userActiveStatusClasses = classNames(styles.userActiveStatus, user.online ? styles.online : '');

    return (
      <div {...restProps} className={classes}>
        <div className={styles.userInformationContainer}>
          <div className={styles.userAvatar}>
            <Avatar size={AvatarSize.Size56} url={user.avatarUrl} username={user.name} round />
            {!!avatarInfo && avatarInfo}
          </div>
          <div className={styles.userInformation}>
            <div className={styles.userInformationGeneral}>
              <div className={styles.userNameLine}>
                {user.href && (
                  <Link href={user.href} className={styles.userName} data-test='user-card-link'>
                    {user.name}
                  </Link>
                )}
                {!user.href && <span className={styles.userName}>{user.name}</span>}
                {typeof user.online === 'boolean' && (
                  <span
                    className={userActiveStatusClasses}
                    title={
                      user.online
                        ? (translations?.online ?? translate('online'))
                        : (translations?.offline ?? translate('offline'))
                    }
                  />
                )}
                {!!info && <span className={styles.userNameInfo}>{info}</span>}
                {user.banned && (
                  <Tooltip title={user.banReason}>
                    <Tag tagType={TagType.ERROR}>{translations?.banned ?? translate('banned')}</Tag>
                  </Tooltip>
                )}
              </div>
              <div className={styles.userLogin}>{user.login}</div>
              {user.email && (
                <span className={styles.userEmailWrapper}>
                  <Link
                    href={`mailto:${user.email}`}
                    title={`mailto:${user.email}`}
                    target='_blank'
                    className={styles.userEmail}
                  >
                    {user.email}
                  </Link>
                  {user.unverifiedEmail && (
                    <span className={styles.unverifiedLabel}>
                      {translations?.unverified ?? translate('unverified')}
                    </span>
                  )}
                  <Icon
                    title={translations?.copyToClipboard ?? translate('copyToClipboard')}
                    className={styles.userCopyIcon}
                    onClick={this.copyEmail}
                    glyph={copyIcon}
                    size={IconSize.Size14}
                    suppressSizeWarning
                  />
                </span>
              )}
            </div>
            {children}
          </div>
        </div>
      </div>
    );
  }