Locaft-backend/src/components/NavBar.js

58 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-11-30 08:56:17 -08:00
import React, { useState, useEffect, useContext } from 'react';
import { useHistory } from "react-router-dom";
2020-11-21 09:27:17 -08:00
import '../navbar.css';
2020-11-29 09:05:56 -08:00
import Axios from "axios";
2020-11-30 08:56:17 -08:00
import UserContext from "../context/UserContext";
2020-11-20 09:26:49 -08:00
2020-11-29 09:05:56 -08:00
export default function NavBar() {
2020-11-30 08:56:17 -08:00
const { userData, setUserData } = useContext(UserContext);
const history = useHistory();
2020-12-04 08:38:55 -08:00
const register = () => history.push("/user/register");
const login = () => history.push("/home");
2020-11-30 08:56:17 -08:00
const logout = () => {
setUserData({
token: undefined,
user: undefined,
});
localStorage.setItem("auth-token", "");
};
window.addEventListener("scroll", () => {
var header = document.querySelector("header");
header.classList.toggle("sticky", window.scrollY > 0);
})
2020-12-06 08:59:40 -08:00
console.log(userData);
2020-11-30 08:56:17 -08:00
return (
2020-12-06 08:59:40 -08:00
<div className="navbar">
2020-11-30 08:56:17 -08:00
<header>
<input type="checkbox" id="check" />
2020-12-06 08:59:40 -08:00
<label htmlFor="check" className="checkbtn">
<i className="fas fa-bars" id="btn"></i>
2020-11-30 08:56:17 -08:00
</label>
2020-12-06 08:59:40 -08:00
<a href="/home" className="logo">locaft</a>
2020-11-30 08:56:17 -08:00
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact us</a></li>
{userData.user ? (
2020-12-04 08:38:55 -08:00
<li><a href="#" onClick={logout}>Log Out</a></li>
2020-11-30 08:56:17 -08:00
) : (
2020-12-04 08:38:55 -08:00
<React.Fragment>
2020-12-06 08:59:40 -08:00
<li><a href="#" onClick={register}>Register</a></li>
<li><a href="#" onClick={login}>login</a></li>
2020-12-04 08:38:55 -08:00
</React.Fragment>
2020-11-30 08:56:17 -08:00
)}
</ul>
</header>
</div>
)
}
2020-11-29 09:05:56 -08:00