53 lines
1.9 KiB
JavaScript
53 lines
1.9 KiB
JavaScript
import { NotificationContainer } from "arm-core-layouts";
|
|
import React, { useEffect } from "react";
|
|
import { connect } from "react-redux";
|
|
import { HashRouter, Route, Switch } from "react-router-dom";
|
|
|
|
import AppActions from "../app/AppActions.js";
|
|
import { AppConstants } from "../constants/AppConstants.js";
|
|
import MasterPage from "./MasterPage.jsx";
|
|
import NotFound from "./NotFoundPage.jsx";
|
|
import PrivateRoute from "./PrivateRoute.jsx";
|
|
import Standalone from "./Standalone.jsx";
|
|
import AliveStatusMessage from "./account/AliveStatusMessage.jsx";
|
|
import Login from "./account/Login.jsx";
|
|
import SessionExpired from "./account/SessionExpired.jsx";
|
|
import Loading from "./shared/Loading.jsx";
|
|
import Notify from "./shared/Notify.jsx";
|
|
import TestMasterPage from "./test/TestMasterPage.jsx";
|
|
|
|
|
|
export default function MasterPageBase(props){
|
|
const { preLoginLoadUtilities } = props;
|
|
|
|
useEffect(() => {
|
|
preLoginLoadUtilities();
|
|
}, []);
|
|
|
|
return (
|
|
<HashRouter>
|
|
<Switch>
|
|
<Route path="/">
|
|
<Loading />
|
|
<Notify />
|
|
<NotificationContainer />
|
|
<SessionExpired/>
|
|
<AliveStatusMessage/>
|
|
<Switch>
|
|
<Route path="/login" component={Login} />
|
|
{AppConstants.DEBUG_VIEW && <Route path="/test" component={TestMasterPage} />}
|
|
<Route path="/standalone" component={Standalone} />
|
|
<PrivateRoute path="/" component={MasterPage} />
|
|
<Route component={NotFound} />
|
|
</Switch>
|
|
</Route>
|
|
</Switch>
|
|
</HashRouter>
|
|
)
|
|
}
|
|
|
|
const mapDispatchToProps = (dispatch) => ({
|
|
preLoginLoadUtilities: () => dispatch(AppActions.preLoginLoadUtilities())
|
|
})
|
|
|
|
MasterPageBase = connect(null, mapDispatchToProps)(MasterPageBase); |