GoScrobble/web/src/App.js

76 lines
1.9 KiB
JavaScript
Raw Normal View History

2021-03-24 03:29:35 +00:00
import './App.css';
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';
import Navigation from './Components/Navigation';
2021-03-26 08:06:28 +00:00
import { logout } from './Actions/auth';
2021-03-28 08:52:34 +00:00
import { Route, Switch, withRouter } from 'react-router-dom';
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) {
const { user } = state.auth;
2021-03-26 02:31:00 +00:00
return {
user,
2021-03-26 02:31:00 +00:00
};
}
class App extends Component {
constructor(props) {
super(props);
this.logOut = this.logOut.bind(this);
2021-03-25 08:13:28 +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
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));