Skip to content

Instantly share code, notes, and snippets.

@sethdorris
Created March 10, 2021 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sethdorris/c13e54badd4832b0a8f4f22947870977 to your computer and use it in GitHub Desktop.
Save sethdorris/c13e54badd4832b0a8f4f22947870977 to your computer and use it in GitHub Desktop.
import { React, useEffect, useState } from 'react';
import AdminMenu from './Admin/Menu';
import LoginPage from '../Pages/Login';
import SearchPage from '../Pages/Search';
import UavDetailsPage from '../Pages/UavDetailsPage';
import ForgotPasswordPage from '../Pages/ForgotPassword';
import RequestAccountPage from '../Pages/RequestAccount';
import RequestReviewPage from '../Pages/Admin/RequestReview';
import SUASRequests from '../Pages/Admin/sUASRequests';
import PrivacyPage from '../Pages/Privacy';
import NewSuasRequestDetails from './Admin/NewSuasRequestDetails';
import ResetPasswordPage from '../Pages/ResetPassword';
import LandingPage from '../Pages/Landing';
import { Switch, Route } from "react-router-dom";
import { useSelector, useDispatch } from 'react-redux';
import { setUserData } from '../Redux/Actions/ActionTypes';
import { RefreshUserData } from '../Services/api';
let RouteController = () => {
var dispatch = useDispatch();
let [isLoading, setIsLoading] = useState(true);
var userData = useSelector(state => state.UserData);
useEffect(async () => {
if (userData.Username == null) {
var refreshedData = await RefreshUserData();
if (refreshedData.Authenticated) {
dispatch(setUserData(refreshedData));
}
}
}, [])
console.log("Is Loading", isLoading);
return
isLoading
? <div>Loading ... </div>
: (
<div>
<AdminMenu></AdminMenu>
<Switch>
<Route path="/search">
<SearchPage />
</Route>
<Route path="/privacy">
<PrivacyPage />
</Route>
<Route path="/Details/:id">
<UavDetailsPage />
</Route>
<Route path="/Account/ForgotPassword">
<ForgotPasswordPage></ForgotPasswordPage>
</Route>
<Route path="/Account/ResetPassword">
<ResetPasswordPage></ResetPasswordPage>
</Route>
<Route path="/Account/RequestAccount">
<RequestAccountPage></RequestAccountPage>
</Route>
<Route path="/Admin/AccountRequests">
<RequestReviewPage></RequestReviewPage>
</Route>
<Route path="/Admin/SuasRequest/Details/:id">
<NewSuasRequestDetails></NewSuasRequestDetails>
</Route>
{/* User management - give roles */}
<Route path="/Admin/Validator">
<SUASRequests></SUASRequests>
</Route>
<Route path="/Landing">
<LandingPage />
</Route>
<Route path="/">
<LoginPage />
</Route>
</Switch>
</div>
)
}
export default RouteController;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment