Header.jsx 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { useState } from 'react';
  2. import { Link } from 'react-router-dom';
  3. import { history } from '../App';
  4. import '../App.css';
  5. import store from '../store'
  6. import {actionAuthLogout} from '../store/actions/action-logout'
  7. export const Header = () => {
  8. const logOut = () => {
  9. store.dispatch(actionAuthLogout())
  10. }
  11. return (
  12. <header className="header">
  13. <nav className="navbar navbar-dark bg-dark fixed-top">
  14. <div className="container-fluid">
  15. <a className="navbar-brand" href="/">A-Level Chat</a>
  16. <button className="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasDarkNavbar" aria-controls="offcanvasDarkNavbar">
  17. <span className="navbar-toggler-icon"></span>
  18. </button>
  19. <div className="offcanvas offcanvas-end text-bg-dark" tabIndex="-1" id="offcanvasDarkNavbar" aria-labelledby="offcanvasDarkNavbarLabel">
  20. <div className="offcanvas-header">
  21. <button type="button" className="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  22. </div>
  23. <div className="offcanvas-body">
  24. <ul className="navbar-nav justify-content-end flex-grow-1 pe-3">
  25. <li className="nav-item">
  26. <Link to="/" className="nav-link">Home</Link>
  27. </li>
  28. <li className="nav-item dropdown">
  29. <a className="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  30. Enter
  31. </a>
  32. <ul className="dropdown-menu dropdown-menu-dark">
  33. <li className='dropdown-li'><Link to="/login" className="nav-link">Login</Link></li>
  34. <li className='dropdown-li'><Link to="/registration" className="nav-link">Registration</Link></li>
  35. </ul>
  36. </li>
  37. <li className="nav-item">
  38. <Link to="/about-me" className="nav-link">About Me</Link>
  39. </li>
  40. <li className="nav-item">
  41. <Link to="/chat" className="nav-link">Chat</Link>
  42. </li>
  43. <li className="nav-item">
  44. <a className="nav-link" onClick={logOut}>Выйти</a>
  45. </li>
  46. </ul>
  47. </div>
  48. </div>
  49. </div>
  50. </nav>
  51. </header>
  52. )
  53. }