DisplaySwitcher.jsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import React from 'react';
  2. import { TabContent, TabPane } from 'reactstrap';
  3. import propTypes from 'prop-types';
  4. import { withUnstatedContainers } from '../UnstatedUtils';
  5. import NavigationContainer from '../../services/NavigationContainer';
  6. import Editor from '../PageEditor';
  7. import Page from '../Page';
  8. import PageEditorByHackmd from '../PageEditorByHackmd';
  9. import EditorNavbarBottom from '../PageEditor/EditorNavbarBottom';
  10. const DisplaySwitcher = (props) => {
  11. const { navigationContainer } = props;
  12. const { editorMode } = navigationContainer.state;
  13. return (
  14. <>
  15. <TabContent activeTab={editorMode}>
  16. <TabPane tabId="view">
  17. <Page />
  18. </TabPane>
  19. <TabPane tabId="edit">
  20. <div id="page-editor">
  21. <Editor />
  22. </div>
  23. </TabPane>
  24. <TabPane tabId="hackmd">
  25. <div id="page-editor-with-hackmd">
  26. <PageEditorByHackmd />
  27. </div>
  28. </TabPane>
  29. </TabContent>
  30. {editorMode !== 'view' && <EditorNavbarBottom /> }
  31. </>
  32. );
  33. };
  34. DisplaySwitcher.propTypes = {
  35. navigationContainer: propTypes.instanceOf(NavigationContainer).isRequired,
  36. };
  37. export default withUnstatedContainers(DisplaySwitcher, [NavigationContainer]);