User.js 904 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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.isRequired,
  28. username: PropTypes.bool.isRequired,
  29. };
  30. User.defaultProps = {
  31. name: false,
  32. username: false,
  33. };