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