NavbarToggler.jsx 869 B

123456789101112131415161718192021222324252627282930313233
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import { createSubscribedElement } from '../UnstatedUtils';
  5. import AppContainer from '../../services/AppContainer';
  6. const NavbarToggler = (props) => {
  7. const { appContainer } = props;
  8. return (
  9. <button className="navbar-toggler grw-navbar-toggler border-0" type="button" aria-expanded="false" aria-label="Toggle navigation">
  10. <i className="icon-menu"></i>
  11. </button>
  12. );
  13. };
  14. /**
  15. * Wrapper component for using unstated
  16. */
  17. const NavbarTogglerWrapper = (props) => {
  18. return createSubscribedElement(NavbarToggler, props, [AppContainer]);
  19. };
  20. NavbarToggler.propTypes = {
  21. t: PropTypes.func.isRequired, // i18next
  22. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  23. };
  24. export default withTranslation()(NavbarTogglerWrapper);