Navigation.tsx 912 B

12345678910111213141516171819202122232425262728
  1. import Button from './Button/Button';
  2. import { connect } from 'react-redux';
  3. import { asyncLogout } from '../../redux/authorization/operation';
  4. import { INavigationProps } from '../../typescript/components/Navigation/interfaces';
  5. import s from './Navigation.module.css';
  6. const Navigation = ({ doLogout }: INavigationProps) => {
  7. const handleLogout = async () => doLogout();
  8. return (
  9. <div className={s.wrapper__button}>
  10. <Button text="Categories" to="/categories" />
  11. <Button text="Orders" to="/orders" />
  12. <div className={s.wrapper__button__logout}>
  13. <div onClick={handleLogout}>
  14. <Button text="Logout" to="/authorization" />
  15. </div>
  16. </div>
  17. </div>
  18. );
  19. };
  20. const mapDispatchToProps = (
  21. dispatch: (dispatchAction: any) => Promise<void>,
  22. ) => ({
  23. doLogout: () => dispatch(asyncLogout()),
  24. });
  25. export default connect(null, mapDispatchToProps)(Navigation);