Add useNavigate hook and handle navigation based on user "role"
This commit is contained in:
parent
a0ff329845
commit
a5ea74c996
1 changed files with 13 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
|||
//info: Header component to display the header of the page including the logo and user information where thr user can logout
|
||||
import { useState } from "react";
|
||||
import { Link } from "react-router-dom";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import backgroundImage from "../assets/1.jpg";
|
||||
|
||||
/**
|
||||
|
@ -9,23 +9,33 @@ import backgroundImage from "../assets/1.jpg";
|
|||
*/
|
||||
function Header(): JSX.Element {
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
const username = localStorage.getItem("username");
|
||||
const navigate = useNavigate();
|
||||
|
||||
const handleLogout = (): void => {
|
||||
localStorage.clear();
|
||||
};
|
||||
|
||||
const handleNavigation = (): void => {
|
||||
if (username === "admin") {
|
||||
navigate("/admin");
|
||||
} else {
|
||||
navigate("/yourProjects");
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<header
|
||||
className="fixed top-0 left-0 right-0 border-[1.75px] border-black text-black p-3 pl-5 flex items-center justify-between bg-cover"
|
||||
style={{ backgroundImage: `url(${backgroundImage})` }}
|
||||
>
|
||||
<Link to="/your-projects">
|
||||
<div onClick={handleNavigation}>
|
||||
<img
|
||||
src="/src/assets/Logo.svg"
|
||||
alt="TTIME Logo"
|
||||
className="w-11 h-14 cursor-pointer"
|
||||
/>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
<div
|
||||
className="relative"
|
||||
|
|
Loading…
Reference in a new issue