DisplaySwitcher.jsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. <Editor />
  21. </TabPane>
  22. <TabPane tabId="hackmd">
  23. <PageEditorByHackmd />
  24. </TabPane>
  25. </TabContent>
  26. {editorMode !== 'view' && <EditorNavbarBottom /> }
  27. </>
  28. );
  29. };
  30. DisplaySwitcher.propTypes = {
  31. navigationContainer: propTypes.instanceOf(NavigationContainer).isRequired,
  32. };
  33. export default withUnstatedContainers(DisplaySwitcher, [NavigationContainer]);