react-logo/frontend/src/app.js

37 lines
1.6 KiB
JavaScript
Raw Normal View History

import React, { Component, Fragment } from 'react';
import { hot } from 'react-hot-loader';
import { HashRouter } from 'react-router-dom'; // ou BrowserRouter
import { Route, Switch, Redirect } from 'react-router';
2020-02-19 12:21:04 +01:00
import { ConnectedLoginPage as LoginPage } from './pages/login';
2020-02-19 11:53:32 +01:00
import DashBoardClient from './pages/DashBoardClient';
import DashBoardDev from './pages/DashBoardDev';
2020-02-19 13:51:14 +01:00
import { ConnectedLogoutPage as LogoutPage } from './pages/logout';
2020-02-25 11:44:05 +01:00
import { connect } from 'react-redux';
import { history } from './util/history';
2020-02-04 17:20:39 +01:00
const LazyHomePage = React.lazy(() => import('./pages/home.lazy'));
2020-02-25 11:44:05 +01:00
export class App extends Component {
render () {
return (
<Fragment>
<React.Suspense fallback={<div>Chargement en cours...</div>}>
<HashRouter history={history}>
<Switch>
<Route path='/login' exact component={LoginPage} />
<Route path='/logout' exact component={LogoutPage} />
<Route path='/home' exact component={LazyHomePage} />
<Route path='/dashboard-client' exact component={DashBoardClient} />
<Route path='/dashboard-dev' exact component={DashBoardDev} />
<Route component={() => <Redirect to="/home" />} />
</Switch>
</HashRouter>
</React.Suspense>
</Fragment>
);
}
2020-02-04 17:20:39 +01:00
}
2020-02-25 11:44:05 +01:00
export const ConnectedApp = connect()(App);
export const HotApp = hot(module)(ConnectedApp);