source: my-react-app/src/components/Header.js@ 8ca35dc

main
Last change on this file since 8ca35dc was 8ca35dc, checked in by Aleksandar Panovski <apano77@…>, 4 months ago

Done with stupid timeslots

  • Property mode set to 100644
File size: 2.2 KB
Line 
1import React from 'react';
2import { Link, useNavigate } from 'react-router-dom';
3
4const Header = () => {
5 const navigate = useNavigate();
6
7 // Check if the user is logged in by looking for a token in localStorage
8 const isLoggedIn = localStorage.getItem('token');
9
10 const handleLogout = () => {
11 // Clear the token from localStorage
12 localStorage.removeItem('token');
13 // Redirect to the home page or login page after logging out
14 navigate('/login');
15 };
16
17 return (
18 <header className="header navbar navbar-expand-lg navbar-light bg-light">
19 <div className="container">
20 <button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
21 <span className="navbar-toggler-icon"></span>
22 </button>
23 <div className="collapse navbar-collapse" id="navbarNav">
24 <ul className="navbar-nav ml-auto">
25 <li className="nav-item">
26 <Link className="nav-link" to="/">Home</Link>
27 </li>
28 <li className="nav-item">
29 <Link className="nav-link" to="/restaurants">Restaurants</Link>
30 </li>
31 <li className="nav-item">
32 <Link className="nav-link" to="/reservations">Reservations</Link>
33 </li>
34 <li className="nav-item">
35 <Link className="nav-link" to="/reservations-past">Reservation history</Link>
36 </li>
37 <form className="form-inline mt-2 mt-md-0 ml-3">
38 {isLoggedIn ? (
39 <button className="btn btn-outline-danger my-2 my-sm-0" onClick={handleLogout}>Logout</button>
40 ) : (
41 <Link className="btn btn-outline-info my-2 my-sm-0" to="/login">Login</Link>
42 )}
43 </form>
44 </ul>
45 </div>
46 </div>
47 </header>
48 );
49}
50
51export default Header;
Note: See TracBrowser for help on using the repository browser.