All files / client/components/User User.tsx

0% Statements 0/7
0% Branches 0/4
0% Functions 0/1
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                                                                                 
import React from 'react'
import styled from 'styled-components'
import UserPicture from './UserPicture'
import { User as UserType } from 'client/types/crowi'
 
const StyledUser = styled.span`
  img.picture,
  span {
    margin-right: 4px;
  }
`
 
interface Props {
  user: UserType
  name: boolean
  username: boolean
}
 
export default class User extends React.Component<Props> {
  static defaultProps = { name: false, username: false }
 
  render() {
    const user = this.props.user
    const userLink = '/user/' + user.username
 
    const username = this.props.username
    const name = this.props.name
 
    return (
      <StyledUser>
        <a href={userLink}>
          <UserPicture user={user} />
 
          {username && <span>@{user.username}</span>}
          {name && <span>({user.name})</span>}
        </a>
      </StyledUser>
    )
  }
}