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(); |