vkrastev97

nbar

Nov 1st, 2020
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. import React, { Fragment } from 'react';
  2. import { Link, Switch, Redirect, Route, useHistory } from 'react-router-dom';
  3. import {
  4. Navbar,
  5. NavDropdown,
  6. Nav,
  7. Form,
  8. FormControl,
  9. Button,
  10. } from 'react-bootstrap';
  11. import Home from '../Home/Home';
  12.  
  13. import Books from '../Books/Books';
  14. import { useAuth } from '../../auth/authContext';
  15. import Register from '../Register/Register';
  16. import Login from '../Login/Login';
  17. /* eslint-disable */
  18. const Nbar = (props) => {
  19. const { user, setUser } = useAuth();
  20. //setUser(user);
  21.  
  22. const history = useHistory();
  23.  
  24. const handleLogOut = () => {
  25. localStorage.removeItem('token');
  26. setUser(null);
  27. const path = `/Home`;
  28. history.push(path);
  29. };
  30. return (
  31. <div>
  32. <Navbar bg='light' expand='lg' fixed='top'>
  33. <Navbar.Brand as={Link} to={'/home'}>
  34. Epic library
  35. </Navbar.Brand>
  36. <Navbar.Toggle aria-controls='basic-navbar-nav' />
  37. <Navbar.Collapse id='basic-navbar-nav'>
  38. <Nav className='mr-auto'>
  39. <Nav.Link as={Link} to={'/home'}>
  40. Home
  41. </Nav.Link>
  42. {user ? (
  43. <Nav.Link as={Link} to={'/books'}>
  44. Books
  45. </Nav.Link>
  46. ) : null}
  47. </Nav>
  48.  
  49. <Form inline>
  50. {user ? (
  51. <Button variant='danger' onClick={handleLogOut}>
  52. Log out
  53. </Button>
  54. ) : null}
  55. </Form>
  56. </Navbar.Collapse>
  57. </Navbar>
  58. <Switch>
  59. <Route path='/home' exact component={Home} />
  60. <Route path='/books' exact component={Books} />
  61. <Route path='/reg' exact component={Register} />
  62. <Route path='/login' exact component={Login} />
  63. <Route path='*'>
  64. <Redirect to='/home' />
  65. </Route>
  66. </Switch>
  67. </div>
  68. );
  69. };
  70.  
  71. export default Nbar;
  72.  
Advertisement
Add Comment
Please, Sign In to add comment