2
0

PageEditorByHackmd.jsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import HackmdEditor from './PageEditorByHackmd/HackmdEditor';
  4. export default class PageEditorByHackmd extends React.PureComponent {
  5. constructor(props) {
  6. super(props);
  7. this.state = {
  8. };
  9. }
  10. componentWillMount() {
  11. }
  12. syncToLatestRevision() {
  13. }
  14. render() {
  15. const envVars = this.props.crowi.config.env;
  16. const hackMdUri = envVars.HACKMD_URI;
  17. if (hackMdUri == null || this.props.pageIdOnHackmd == null) {
  18. return (
  19. <div className="hackmd-nopage d-flex justify-content-center align-items-center">
  20. <div>
  21. <p className="text-center">
  22. <button className="btn btn-success btn-lg waves-effect waves-light" type="button">
  23. <span className="btn-label"><i className="fa fa-file-text-o"></i></span>
  24. Start to edit with HackMD
  25. </button>
  26. </p>
  27. <p className="text-center">Clone this page and start to edit with multiple peoples.</p>
  28. </div>
  29. </div>
  30. );
  31. }
  32. return (
  33. <HackmdEditor
  34. markdown={this.props.markdown}
  35. hackMdUri={hackMdUri}
  36. pageIdOnHackmd={this.props.pageIdOnHackmd}
  37. >
  38. </HackmdEditor>
  39. );
  40. }
  41. }
  42. PageEditorByHackmd.propTypes = {
  43. crowi: PropTypes.object.isRequired,
  44. markdown: PropTypes.string.isRequired,
  45. pageId: PropTypes.string,
  46. revisionId: PropTypes.string,
  47. revisionIdHackmdSynced: PropTypes.string,
  48. pageIdOnHackmd: PropTypes.string,
  49. };