PageListMeta.js 1005 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. export default class PageListMeta extends React.Component {
  4. isPortalPath(path) {
  5. if (path.match(/.*\/$/)) {
  6. return true;
  7. }
  8. return false;
  9. }
  10. render() {
  11. // TODO isPortal()
  12. const page = this.props.page;
  13. // portal check
  14. let PortalLabel;
  15. if (this.isPortalPath(page.path)) {
  16. PortalLabel = <span className="label label-info">PORTAL</span>;
  17. }
  18. let CommentCount;
  19. if (page.commentCount > 0) {
  20. CommentCount = <span><i className="icon-bubble" />{page.commentCount}</span>;
  21. }
  22. let LikerCount;
  23. if (page.liker.length > 0) {
  24. LikerCount = <span><i className="icon-like" />{page.liker.length}</span>;
  25. }
  26. return (
  27. <span className="page-list-meta">
  28. {PortalLabel}
  29. {CommentCount}
  30. {LikerCount}
  31. </span>
  32. );
  33. }
  34. }
  35. PageListMeta.propTypes = {
  36. page: PropTypes.object.isRequired,
  37. };
  38. PageListMeta.defaultProps = {
  39. page: {},
  40. };