-
James D'Alton authoredJames D'Alton authored
App.js 1.95 KiB
import React from 'react';
import { Route, Switch } from "react-router-dom";
import { connect } from "react-redux";
//Higher order component protected route
import ProtectedRoute from "./Components/ProtectedRoute.react";
// Presentational Components
import AppHeader from "./Components/AppHeader.react";
// import HomePage from "./Components/HomePage.react";
import Login from "./Components/Login.react";
import UserDashboard from "./Components/UserDashboard.react";
import Signup from "./Components/Signup.react";
import SubsScreen from "./Components/SubsScreen.react";
import './App.scss';
function App(props) {
const { isAuthenticated, isVerifying , user } = props;
return (
<div className="rootApp" style={{ maxWidth: 1200, margin: '16px auto auto' }}>
<AppHeader isAuthenticated={isAuthenticated} isVerifying={isVerifying} />
<Switch>
<ProtectedRoute
exact path='/'
component={()=>{return (<UserDashboard user={user ? user : false} />)}}
isAuthenticated={isAuthenticated}
isVerifying={isVerifying} >
</ProtectedRoute>
<ProtectedRoute
exact path='/mysubmissions'
component={()=>{return (<SubsScreen mySubs={true} user={user ? user : false} />)}}
isAuthenticated={isAuthenticated}
isVerifying={isVerifying} >
</ProtectedRoute>
<ProtectedRoute
exact path='/partnerssubmissions'
component={()=>{return (<SubsScreen mySubs={false} user={user ? user : false} />)}}
isAuthenticated={isAuthenticated}
isVerifying={isVerifying} >
</ProtectedRoute>
<Route path="/login" component={Login} />
<Route path="/signup" component={Signup} />
</Switch>
</div>
);
}
function mapStateToProps(state) {
return {
isAuthenticated: state.auth.isAuthenticated,
isVerifying: state.auth.isVerifying,
user: state.auth.user
};
}
export default connect(mapStateToProps)(App);