PageCreator.jsx 989 B

12345678910111213141516171819202122232425262728293031323334353637
  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 PageCreator = (props) => {
  6. const { creator, createdAt, isCompactMode } = props;
  7. const creatInfo = isCompactMode
  8. ? (<div>Created at <span className="text-muted">{createdAt}</span></div>)
  9. : (<div><div>Created by <a href={userPageRoot(creator)}>{creator.name}</a></div><div className="text-muted">{createdAt}</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={creator} size={pictureSize} />
  15. </div>
  16. {creatInfo}
  17. </div>
  18. );
  19. };
  20. PageCreator.propTypes = {
  21. creator: PropTypes.object.isRequired,
  22. createdAt: PropTypes.string.isRequired,
  23. isCompactMode: PropTypes.bool,
  24. };
  25. PageCreator.defaultProps = {
  26. isCompactMode: false,
  27. };
  28. export default PageCreator;