remove duplicated information
This commit is contained in:
@@ -1,17 +1,14 @@
|
|||||||
import { Menubar } from 'primereact/menubar';
|
import { Menubar } from 'primereact/menubar';
|
||||||
import React, { useContext, useEffect, useRef, useState } from 'react';
|
import React, { useContext, useEffect, useRef, useState } from 'react';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { AuthContext, TimeContext } from '../contexts';
|
import { AuthContext } from '../contexts';
|
||||||
import { Configuration } from '../services';
|
import { Configuration } from '../services';
|
||||||
import { Airport } from '../services';
|
import { Airport } from '../services';
|
||||||
import { AirportOverview, BackendReturnStatus, IAuthState } from '../types';
|
import { AirportOverview, BackendReturnStatus, IAuthState } from '../types';
|
||||||
|
|
||||||
export const NavBar: React.FC = () => {
|
export const NavBar: React.FC = () => {
|
||||||
const [timestamp, setTimestamp] = useState<string>('');
|
|
||||||
const [fullName, setFullName] = useState<string>('');
|
|
||||||
const [menuTree, setMenuTree] = useState<any>(undefined);
|
const [menuTree, setMenuTree] = useState<any>(undefined);
|
||||||
const authContext = useContext(AuthContext);
|
const authContext = useContext(AuthContext);
|
||||||
const timeContext = useContext(TimeContext);
|
|
||||||
const currentAuth = useRef<IAuthState>();
|
const currentAuth = useRef<IAuthState>();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
@@ -121,18 +118,7 @@ export const NavBar: React.FC = () => {
|
|||||||
updateMenuItems();
|
updateMenuItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
const timeInterval = setInterval(() => {
|
|
||||||
const serverUtcTime = new Date(new Date().getTime() + timeContext.offset);
|
|
||||||
const hours = String(serverUtcTime.getUTCHours()).padStart(2, '0');
|
|
||||||
const minutes = String(serverUtcTime.getUTCMinutes()).padStart(2, '0');
|
|
||||||
const seconds = String(serverUtcTime.getUTCSeconds()).padStart(2, '0');
|
|
||||||
if (currentAuth.current?.valid) {
|
|
||||||
setTimestamp(`${hours}:${minutes}:${seconds}`);
|
|
||||||
}
|
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
clearInterval(timeInterval);
|
|
||||||
event.close();
|
event.close();
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
@@ -140,14 +126,8 @@ export const NavBar: React.FC = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (currentAuth.current?.valid) {
|
if (currentAuth.current?.valid) {
|
||||||
if (currentAuth.current.user.fullName !== '') {
|
|
||||||
setFullName(currentAuth.current.user.fullName);
|
|
||||||
} else {
|
|
||||||
setFullName(currentAuth.current.user.vatsimId);
|
|
||||||
}
|
|
||||||
updateMenuItems();
|
updateMenuItems();
|
||||||
} else {
|
} else {
|
||||||
setFullName('');
|
|
||||||
setMenuTree([]);
|
setMenuTree([]);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
@@ -155,9 +135,5 @@ export const NavBar: React.FC = () => {
|
|||||||
|
|
||||||
if (menuTree === undefined || !currentAuth.current.valid) return <></>;
|
if (menuTree === undefined || !currentAuth.current.valid) return <></>;
|
||||||
|
|
||||||
const rightSideInfo = (
|
return (menuTree.length !== 0 ? <Menubar model={menuTree} /> : <></>);
|
||||||
<div>{fullName} | {timestamp}</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
return (menuTree.length !== 0 ? <Menubar model={menuTree} end={rightSideInfo} /> : <></>);
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user