import React, { useEffect, useState } from "react"; import { ChartPieIcon, DocumentTextIcon, EnvelopeIcon, CommandLineIcon, Bars3Icon, SunIcon, MoonIcon, } from "@heroicons/react/24/outline"; import { Link, useNavigate } from "react-router-dom"; import axios from "axios"; interface NavigationProps { children: React.ReactElement; } const Navigation: React.FC = ({ children, }: NavigationProps) => { const [isDrawerOpen, setIsDrawerOpen] = useState(false); const toggleDrawer = () => setIsDrawerOpen(!isDrawerOpen); const [user, setUser] = useState(null); const navigate = useNavigate(); const [theme, setTheme] = useState( localStorage.getItem("theme") ? localStorage.getItem("theme") : "dark", ); const logout = () => { setIsDrawerOpen(!isDrawerOpen); const removeCookie = `quarkus-credential=; Max-Age=0;path=/`; document.cookie = removeCookie; localStorage.removeItem("root"); }; const handleToggle = (e) => { if (theme === "light") { setTheme("dark"); } else { setTheme("light"); } }; useEffect(() => { axios.get("/api/users/me").then((res) => { if (res.data.username.trim() === "") { navigate("/login"); } setUser(res.data); }); localStorage.setItem("theme", theme); const localTheme = localStorage.getItem("theme"); document.querySelector("html").setAttribute("data-theme", localTheme); }, [theme]); return ( <>
{location.pathname !== "/login" && (
)} {children}
{location.pathname !== "/login" && (
    • {false && ( <>
    • Profile
    • Settings
    • )}
    • Log Out
  • {localStorage.getItem("root") && (
  • Admin
    • Admin
    • Create Tp
    • Users
    • Bulk user creation
  • )}
  • Dashboard
  • TPs
  • Instances
  • Messages
  • )}
    ); }; export default Navigation;