Locaft/src/components/NavBar.js

67 lines
1.7 KiB
JavaScript
Raw Normal View History

2020-11-29 09:05:56 -08:00
import React, { useState, useEffect, Component} from 'react';
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-20 09:26:49 -08:00
2020-11-29 09:05:56 -08:00
export default function NavBar() {
const [userData, setUserData] = useState({
token: undefined,
user: undefined,
});
useEffect(() => {
const checkLoggedIn = async () => {
let token = localStorage.getItem("auth-token");
if (token === null) {
localStorage.setItem("auth-token", "");
token = "";
}
const tokenRes = await Axios.post(
"http://localhost:5000/users/tokenIsValid",
null,
{ headers: { "x-auth-token": token } }
);
if (tokenRes.data) {
const userRes = await Axios.get("http://localhost:5000/users/", {
headers: { "x-auth-token": token },
});
setUserData({
token,
user: userRes.data,
});
}
};
checkLoggedIn();
}, []);
2020-11-20 09:26:49 -08:00
2020-11-22 05:52:50 -08:00
window.addEventListener("scroll", () =>{
var header = document.querySelector("header");
header.classList.toggle("sticky",window.scrollY > 0);
})
2020-11-20 09:26:49 -08:00
return(
2020-11-22 05:52:50 -08:00
<div class="navbar">
<header>
2020-11-23 08:49:49 -08:00
<input type="checkbox" id="check"/>
<label for="check" class="checkbtn">
<i class="fas fa-bars" id="btn"></i>
</label>
2020-11-22 05:52:50 -08:00
<a href="/home" class="logo">locaft</a>
<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>
2020-11-29 09:05:56 -08:00
<li><a href="#">Register</a></li>
2020-11-22 05:52:50 -08:00
<li><a href="#">Log In</a></li>
</ul>
2020-11-23 08:49:49 -08:00
2020-11-22 05:52:50 -08:00
</header>
</div>
2020-11-20 09:26:49 -08:00
)
2020-11-21 09:27:17 -08:00
}
2020-11-29 09:05:56 -08:00