2
0

PageAccessories.jsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import PageAccessoriesModalControl from './PageAccessoriesModalControl';
  4. import PageAccessoriesModal from './PageAccessoriesModal';
  5. import { withUnstatedContainers } from './UnstatedUtils';
  6. import AppContainer from '~/client/services/AppContainer';
  7. import PageAccessoriesContainer from '~/client/services/PageAccessoriesContainer';
  8. const PageAccessories = (props) => {
  9. const { appContainer, pageAccessoriesContainer, isNotFoundPage } = props;
  10. const { isGuestUser, isSharedUser } = appContainer;
  11. return (
  12. <>
  13. <PageAccessoriesModalControl
  14. isGuestUser={isGuestUser}
  15. isSharedUser={isSharedUser}
  16. isNotFoundPage={isNotFoundPage}
  17. />
  18. <PageAccessoriesModal
  19. isGuestUser={isGuestUser}
  20. isSharedUser={isSharedUser}
  21. isNotFoundPage={isNotFoundPage}
  22. isOpen={pageAccessoriesContainer.state.isPageAccessoriesModalShown}
  23. onClose={pageAccessoriesContainer.closePageAccessoriesModal}
  24. />
  25. </>
  26. );
  27. };
  28. /**
  29. * Wrapper component for using unstated
  30. */
  31. const PageAccessoriesWrapper = withUnstatedContainers(PageAccessories, [AppContainer, PageAccessoriesContainer]);
  32. PageAccessories.propTypes = {
  33. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  34. pageAccessoriesContainer: PropTypes.instanceOf(PageAccessoriesContainer).isRequired,
  35. isNotFoundPage: PropTypes.bool.isRequired,
  36. };
  37. export default PageAccessoriesWrapper;