SidebarContents.jsx 953 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import { withUnstatedContainers } from '../UnstatedUtils';
  5. import NavigationContainer from '../../services/NavigationContainer';
  6. import RecentChanges from './RecentChanges';
  7. import CustomSidebar from './CustomSidebar';
  8. const SidebarContents = (props) => {
  9. const { navigationContainer } = props;
  10. let Contents;
  11. switch (navigationContainer.state.sidebarContentsId) {
  12. case 'recent':
  13. Contents = RecentChanges;
  14. break;
  15. default:
  16. Contents = CustomSidebar;
  17. }
  18. return (
  19. <Contents />
  20. );
  21. };
  22. SidebarContents.propTypes = {
  23. navigationContainer: PropTypes.instanceOf(NavigationContainer).isRequired,
  24. };
  25. /**
  26. * Wrapper component for using unstated
  27. */
  28. const SidebarContentsWrapper = withUnstatedContainers(SidebarContents, [NavigationContainer]);
  29. export default withTranslation()(SidebarContentsWrapper);