router.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React, { Suspense, lazy } from "react";
  2. import { Switch, Route, withRouter } from "react-router-dom";
  3. import { connect } from 'react-redux';
  4. // import Header from "./containers/header";
  5. // import Footer from './components/public-components/footer';
  6. import ProtectedRoute from './components/common/protectedRoute';
  7. import config from './configs/routerConfig';
  8. import { bindActionCreators } from "redux";
  9. class Router extends React.Component {
  10. render() {
  11. const { user, tokenAuth } = this.props;
  12. // TODO: add spinner, user
  13. return (
  14. <div className="app">
  15. <Suspense fallback={
  16. <div class="text-center">
  17. <div class="spinner-border" role="status">
  18. <span class="sr-only">Loading...</span>
  19. </div>
  20. </div>
  21. }>
  22. <Switch>
  23. {config.map(route =>
  24. <ProtectedRoute
  25. path={route.path}
  26. component={route.component}
  27. access={route.access}
  28. user={{data: {role: 1}}}
  29. key={route}
  30. exact
  31. />
  32. )}
  33. </Switch>
  34. </Suspense>
  35. </div>
  36. )
  37. }
  38. }
  39. // const mapStateToProps = state => ({
  40. // user: state.user
  41. // })
  42. // const mapDispatchToProps = dispatch => bindActionCreators({ tokenAuth }, dispatch);
  43. // export default withRouter(connect(mapStateToProps, mapDispatchToProps)(Router));
  44. export default Router;