Skip to content

Commit

Permalink
Admin Panel
Browse files Browse the repository at this point in the history
  • Loading branch information
Ruskyy committed Oct 31, 2023
1 parent 619895c commit 0e0514c
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 5 deletions.
26 changes: 24 additions & 2 deletions demand-capacity-mgmt-frontend/src/components/common/TopMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -104,8 +106,28 @@ function TopMenuLinks() {
<br />
<span className='font-weight-light small-menu-text'>Role: <span className='text-capitalize'>{user?.role.toLowerCase()}</span></span>
</Navbar.Text>
<Nav.Link href="#settings" className="p-3 navbar-nav nav-item"><FiSettings /></Nav.Link>
<Nav.Link onClick={handleLogout} className="p-2 navbar-nav nav-item"><FiLogOut /></Nav.Link>
<OverlayTrigger
placement="bottom"
overlay={<Tooltip id="tooltip">User Settings</Tooltip>}
>
<Nav.Link href="#settings" className="p-3 navbar-nav nav-item"><FiSettings /></Nav.Link>
</OverlayTrigger>
{user?.role === 'ADMIN' && (
<OverlayTrigger
placement="bottom"
overlay={<Tooltip id="tooltip">Admin Dashboard</Tooltip>}
>
<Nav.Link href="admin" className="p-3 navbar-nav nav-item">
<FaUserShield />
</Nav.Link>
</OverlayTrigger>
)}
<OverlayTrigger
placement="bottom"
overlay={<Tooltip id="tooltip">Logout</Tooltip>}
>
<Nav.Link onClick={handleLogout} className="p-2 navbar-nav nav-item"><FiLogOut /></Nav.Link>
</OverlayTrigger>
</Navbar.Collapse>
</Container>
</Navbar>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';

Expand All @@ -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 <LoadingMessage />; // Show loading spinner when data is loading
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down

0 comments on commit 0e0514c

Please sign in to comment.