Page.js 995 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import UserPicture from '../User/UserPicture';
  4. import PageListMeta from './PageListMeta';
  5. import PagePath from './PagePath';
  6. export default class Page extends React.Component {
  7. render() {
  8. const page = this.props.page;
  9. let link = this.props.linkTo;
  10. if (link === '') {
  11. link = page.path;
  12. }
  13. const styleFlex = {
  14. flex: 1
  15. };
  16. return (
  17. <li className="page-list-li d-flex align-items-center">
  18. <UserPicture user={page.revision.author} />
  19. <a className="page-list-link" href={link}>
  20. <PagePath page={page} excludePathString={this.props.excludePathString} />
  21. </a>
  22. <PageListMeta page={page} />
  23. <div style={styleFlex}></div>
  24. {this.props.children}
  25. </li>
  26. );
  27. }
  28. }
  29. Page.propTypes = {
  30. page: PropTypes.object.isRequired,
  31. linkTo: PropTypes.string,
  32. };
  33. Page.defaultProps = {
  34. page: {},
  35. linkTo: '',
  36. excludePathString: '',
  37. };