client/src/index.js
changeset 168 ea92f4fe783d
parent 162 1fd73fdaf4c6
child 171 03334a31130a
equal deleted inserted replaced
167:1f340f3597a8 168:ea92f4fe783d
     1 import React from 'react';
     1 import React from 'react';
     2 import ReactDOM from 'react-dom';
     2 import ReactDOM from 'react-dom';
     3 import { Provider } from 'react-redux';
     3 import { Provider } from 'react-redux';
     4 import { Route, Switch } from 'react-router';
     4 import { Route, Switch } from 'react-router';
     5 import { ConnectedRouter } from 'react-router-redux';
     5 import { ConnectedRouter } from 'connected-react-router';
     6 import createHistory from 'history/createBrowserHistory';
     6 import createHistory from 'history/createBrowserHistory';
       
     7 import { PersistGate } from 'redux-persist/integration/react'
     7 
     8 
     8 import App from './App';
     9 import App from './App';
     9 import SessionList from './components/SessionList';
    10 import SessionList from './components/SessionList';
    10 import Session from './components/Session';
    11 import Session from './components/Session';
    11 import Login from './components/Login';
    12 import Login from './components/Login';
    20 import AuthenticatedRoute from './misc/AuthenticatedRoute';
    21 import AuthenticatedRoute from './misc/AuthenticatedRoute';
    21 
    22 
    22 const history = createHistory({
    23 const history = createHistory({
    23     basename: config.basename
    24     basename: config.basename
    24 });
    25 });
    25 const store = configureStore(history);
    26 const { store, persistor } = configureStore(history);
    26 
    27 
    27 ReactDOM.render(
    28 ReactDOM.render(
    28   <Provider store={store}>
    29   <Provider store={store}>
    29     <ConnectedRouter history={history}>
    30     <PersistGate loading={null} persistor={persistor} >
    30       <Switch>
    31       <ConnectedRouter history={history}>
    31         <Route exact path="/sessions/:id" component={Session} />
    32         <Switch>
    32         <Route exact path="/sessions" component={SessionList} />
    33           <Route exact path="/sessions/:id" component={Session} />
    33         <Route exact path="/register" component={Register} />
    34           <Route exact path="/sessions" component={SessionList} />
    34         <Route exact path="/login" component={Login} />
    35           <Route exact path="/register" component={Register} />
    35         <Route exact path="/create-group" component={CreateGroup} />
    36           <Route exact path="/login" component={Login} />
    36         <Route exact path="/read-only/:id" component={ReadOnlySession} />
    37           <Route exact path="/create-group" component={CreateGroup} />
    37         <AuthenticatedRoute exact path="/settings" component={Settings} store={store} />
    38           <Route exact path="/read-only/:id" component={ReadOnlySession} />
    38         <Route exact path="/" component={App} />
    39           <AuthenticatedRoute exact path="/settings" component={Settings} store={store} />
    39       </Switch>
    40           <Route exact path="/" component={App} />
    40     </ConnectedRouter>
    41         </Switch>
       
    42       </ConnectedRouter>
       
    43     </PersistGate>
    41   </Provider>,
    44   </Provider>,
    42   document.getElementById('root')
    45   document.getElementById('root')
    43 );
    46 );
    44 registerServiceWorker();
    47 registerServiceWorker();