PageAccessories.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 } = props;
  10. const { isGuestUser, isSharedUser } = appContainer;
  11. return (
  12. <>
  13. <PageAccessoriesModalControl
  14. isGuestUser={isGuestUser}
  15. isSharedUser={isSharedUser}
  16. />
  17. <PageAccessoriesModal
  18. isGuestUser={isGuestUser}
  19. isSharedUser={isSharedUser}
  20. isOpen={pageAccessoriesContainer.state.isPageAccessoriesModalShown}
  21. onClose={pageAccessoriesContainer.closePageAccessoriesModal}
  22. />
  23. </>
  24. );
  25. };
  26. /**
  27. * Wrapper component for using unstated
  28. */
  29. const PageAccessoriesWrapper = withUnstatedContainers(PageAccessories, [AppContainer, PageAccessoriesContainer]);
  30. PageAccessories.propTypes = {
  31. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  32. pageAccessoriesContainer: PropTypes.instanceOf(PageAccessoriesContainer).isRequired,
  33. };
  34. export default PageAccessoriesWrapper;