2021-03-24 03:29:35 +00:00
|
|
|
import './App.css';
|
2021-03-29 07:56:34 +00:00
|
|
|
import Home from './Pages/Home';
|
|
|
|
import About from './Pages/About';
|
|
|
|
|
|
|
|
import Dashboard from './Pages/Dashboard';
|
|
|
|
import Admin from './Pages/Admin';
|
|
|
|
import Profile from './Pages/Profile';
|
|
|
|
import Login from './Pages/Login';
|
|
|
|
import Settings from './Pages/Settings';
|
|
|
|
import Register from './Pages/Register';
|
2021-03-27 04:05:05 +00:00
|
|
|
import Navigation from './Components/Navigation';
|
2021-03-26 08:06:28 +00:00
|
|
|
|
2021-03-29 07:56:34 +00:00
|
|
|
import { logout } from './Actions/auth';
|
2021-03-28 08:52:34 +00:00
|
|
|
import { Route, Switch, withRouter } from 'react-router-dom';
|
2021-03-29 07:56:34 +00:00
|
|
|
import { connect } from 'react-redux';
|
|
|
|
import { Component } from 'react';
|
|
|
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
2021-03-24 03:29:35 +00:00
|
|
|
|
2021-03-26 02:31:00 +00:00
|
|
|
function mapStateToProps(state) {
|
2021-03-29 07:56:34 +00:00
|
|
|
const { user } = state.auth;
|
2021-03-26 02:31:00 +00:00
|
|
|
return {
|
2021-03-29 07:56:34 +00:00
|
|
|
user,
|
2021-03-26 02:31:00 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2021-03-29 07:56:34 +00:00
|
|
|
class App extends Component {
|
|
|
|
constructor(props) {
|
|
|
|
super(props);
|
|
|
|
this.logOut = this.logOut.bind(this);
|
2021-03-25 08:13:28 +00:00
|
|
|
|
2021-03-29 07:56:34 +00:00
|
|
|
this.state = {
|
|
|
|
// showAdminBoard: false,
|
|
|
|
currentUser: undefined,
|
|
|
|
// Don't even ask.. apparently you can't pass
|
|
|
|
// exact="true".. it has to be a bool :|
|
|
|
|
true: true,
|
|
|
|
};
|
|
|
|
}
|
2021-03-24 03:29:35 +00:00
|
|
|
|
2021-03-29 07:56:34 +00:00
|
|
|
componentDidMount() {
|
|
|
|
const user = this.props.user;
|
|
|
|
|
|
|
|
if (user) {
|
|
|
|
this.setState({
|
|
|
|
currentUser: user,
|
|
|
|
// showAdminBoard: user.roles.includes("ROLE_ADMIN"),
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
logOut() {
|
|
|
|
this.props.dispatch(logout());
|
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
// const { currentUser, showAdminBoard } = this.state;
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<Navigation />
|
|
|
|
<Switch>
|
|
|
|
<Route exact={this.state.true} path="/" component={Home} />
|
|
|
|
<Route path="/about" component={About} />
|
|
|
|
|
|
|
|
<Route path="/dashboard" component={Dashboard} />
|
|
|
|
<Route path="/profile" component={Profile} />
|
|
|
|
<Route path="/admin" component={Admin} />
|
|
|
|
|
|
|
|
<Route path="/settings" component={Settings} />
|
|
|
|
<Route path="/login" component={Login} />
|
|
|
|
<Route path="/register" component={Register} />
|
|
|
|
</Switch>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default withRouter(connect(mapStateToProps)(App));
|