Add useNavigate hook and handle navigation based on user "role"

This commit is contained in:
Mattias 2024-04-04 10:29:25 +02:00
parent a0ff329845
commit a5ea74c996

View file

@ -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 //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 { useState } from "react";
import { Link } from "react-router-dom"; import { Link, useNavigate } from "react-router-dom";
import backgroundImage from "../assets/1.jpg"; import backgroundImage from "../assets/1.jpg";
/** /**
@ -9,23 +9,33 @@ import backgroundImage from "../assets/1.jpg";
*/ */
function Header(): JSX.Element { function Header(): JSX.Element {
const [isOpen, setIsOpen] = useState(false); const [isOpen, setIsOpen] = useState(false);
const username = localStorage.getItem("username");
const navigate = useNavigate();
const handleLogout = (): void => { const handleLogout = (): void => {
localStorage.clear(); localStorage.clear();
}; };
const handleNavigation = (): void => {
if (username === "admin") {
navigate("/admin");
} else {
navigate("/yourProjects");
}
};
return ( return (
<header <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" 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})` }} style={{ backgroundImage: `url(${backgroundImage})` }}
> >
<Link to="/your-projects"> <div onClick={handleNavigation}>
<img <img
src="/src/assets/Logo.svg" src="/src/assets/Logo.svg"
alt="TTIME Logo" alt="TTIME Logo"
className="w-11 h-14 cursor-pointer" className="w-11 h-14 cursor-pointer"
/> />
</Link> </div>
<div <div
className="relative" className="relative"