RevisionAuthor.jsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import { userPageRoot } from '@commons/util/path-utils';
  4. import UserPicture from '../User/UserPicture';
  5. const RevisionAuthor = (props) => {
  6. const { revisionAuthor, updatedAt, isCompactMode } = props;
  7. const updateInfo = isCompactMode
  8. ? (<div>Updated at <span className="text-muted">{updatedAt}</span></div>)
  9. : (<div><div>Updated by <a href={userPageRoot(revisionAuthor)}>{revisionAuthor.name}</a></div><div className="text-muted">{updatedAt}</div></div>);
  10. const pictureSize = isCompactMode ? 'xs' : 'sm';
  11. return (
  12. <div className="d-flex align-items-center">
  13. <div className="mr-2">
  14. <UserPicture user={revisionAuthor} size={pictureSize} />
  15. </div>
  16. {updateInfo}
  17. </div>
  18. );
  19. };
  20. RevisionAuthor.propTypes = {
  21. revisionAuthor: PropTypes.object.isRequired,
  22. updatedAt: PropTypes.string.isRequired,
  23. isCompactMode: PropTypes.bool,
  24. };
  25. RevisionAuthor.defaultProps = {
  26. isCompactMode: false,
  27. };
  28. export default RevisionAuthor;