User.js 849 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import UserPicture from './UserPicture';
  4. export default class User extends React.Component {
  5. render() {
  6. const user = this.props.user;
  7. const userLink = `/user/${user.username}`;
  8. const username = this.props.username;
  9. const name = this.props.name;
  10. return (
  11. <span className="user-component">
  12. <a href={userLink}>
  13. <UserPicture user={user} />
  14. {username
  15. && <span className="user-component-username">@{user.username}</span>
  16. }
  17. {name
  18. && <span className="user-component-name">({user.name})</span>
  19. }
  20. </a>
  21. </span>
  22. );
  23. }
  24. }
  25. User.propTypes = {
  26. user: PropTypes.object.isRequired,
  27. name: PropTypes.bool,
  28. username: PropTypes.bool,
  29. };
  30. User.defaultProps = {
  31. };