diff --git a/demand-capacity-mgmt-frontend/src/components/common/TopMenu.tsx b/demand-capacity-mgmt-frontend/src/components/common/TopMenu.tsx
index 190357c4..15e23493 100644
--- a/demand-capacity-mgmt-frontend/src/components/common/TopMenu.tsx
+++ b/demand-capacity-mgmt-frontend/src/components/common/TopMenu.tsx
@@ -21,9 +21,11 @@
*/
import { useEffect, useState } from 'react';
+import { OverlayTrigger, Tooltip } from 'react-bootstrap';
import Container from 'react-bootstrap/Container';
import Nav from 'react-bootstrap/Nav';
import Navbar from 'react-bootstrap/Navbar';
+import { FaUserShield } from 'react-icons/fa';
import { FiLogOut, FiSettings } from 'react-icons/fi';
import { useNavigate } from "react-router-dom";
import CapacityGroupsProvider from '../../contexts/CapacityGroupsContextProvider';
@@ -104,8 +106,28 @@ function TopMenuLinks() {
Role: {user?.role.toLowerCase()}
-
-
+ User Settings}
+ >
+
+
+ {user?.role === 'ADMIN' && (
+ Admin Dashboard}
+ >
+
+
+
+
+ )}
+ Logout}
+ >
+
+
diff --git a/demand-capacity-mgmt-frontend/src/components/pages/AdminPage.tsx b/demand-capacity-mgmt-frontend/src/components/pages/AdminPage.tsx
index 9a0439fe..cbf68714 100644
--- a/demand-capacity-mgmt-frontend/src/components/pages/AdminPage.tsx
+++ b/demand-capacity-mgmt-frontend/src/components/pages/AdminPage.tsx
@@ -26,6 +26,7 @@ import { useEffect, useState } from 'react';
import { Col, Nav, Row, Tab, TabContent } from 'react-bootstrap';
import { FaBell, FaClock, FaCogs, FaFingerprint, FaHeartbeat, FaKey } from 'react-icons/fa';
import { FcEngineering } from 'react-icons/fc';
+import { useNavigate } from 'react-router-dom';
import { useUser } from '../../contexts/UserContext';
import { LoadingMessage } from '../common/LoadingMessages';
@@ -34,11 +35,13 @@ const AdminPage = () => {
const [loading, setLoading] = useState(false);
const [activeTab, setActiveTab] = useState('general');
+ const navigate = useNavigate()
useEffect(() => {
- console.log(user)
- }, []);
-
+ if (user?.role !== 'ADMIN') {
+ navigate('/error');
+ }
+ }, [user]);
if (loading) {
return ; // Show loading spinner when data is loading
diff --git a/demand-capacity-mgmt-frontend/src/contexts/InfoMenuContextProvider.tsx b/demand-capacity-mgmt-frontend/src/contexts/InfoMenuContextProvider.tsx
index e920d993..16ace9f9 100644
--- a/demand-capacity-mgmt-frontend/src/contexts/InfoMenuContextProvider.tsx
+++ b/demand-capacity-mgmt-frontend/src/contexts/InfoMenuContextProvider.tsx
@@ -22,6 +22,7 @@
import React, { FunctionComponent, createContext, useCallback, useContext, useEffect, useState } from 'react';
+
import { InfoMenuData } from '../interfaces/infomenu_interfaces';
import createAPIInstance from "../util/Api";
import { CapacityGroupContext } from './CapacityGroupsContextProvider';