import React, { useEffect, useState } from "react"; import AppBar from "@mui/material/AppBar"; import Toolbar from "@mui/material/Toolbar"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import InputBase from "@mui/material/InputBase"; import Box from "@mui/material/Box"; import { styled } from "@mui/material/styles"; import LogoUrl from '../assets/projectlogo.png'; import {onGetAuthState} from "../pages/+Layout.telefunc"; type AuthState = { isLoggedIn: boolean; username: string | null }; export default function Navbar() { const [auth, setAuth] = useState(null); const handleLogout = async (e: React.MouseEvent) => { // funkcija za logout da go resetira auth state, za da ne go pise username-ot u navbar, plus te vrakja na login nazad e.preventDefault(); setAuth({ isLoggedIn: false, username: null }); window.location.href = "/api/auth/signout?callbackUrl=/auth/login"; }; useEffect(() => { let active = true; onGetAuthState() .then((data) => active && setAuth({ isLoggedIn: data.isLoggedIn, username: data.username })) .catch(() => active && setAuth({ isLoggedIn: false, username: null })); return () => { active = false; }; }, []); const onHoverNav = { color: 'inherit', '&:hover': { backgroundColor: '#ff8201', color: 'white', fontWeight: 'bold', } }; return ( PC Forge {auth?.isLoggedIn ? ( <> ) : ( <> )} ); }