diff -r abf9f3ff2635 -r 4cfeabef7d5e client/src/store/configureStore.js --- a/client/src/store/configureStore.js Mon Jun 12 18:09:13 2017 +0200 +++ b/client/src/store/configureStore.js Mon Jun 12 18:12:38 2017 +0200 @@ -1,32 +1,15 @@ import rootReducer from '../reducers'; +import rootSaga from '../sagas'; +import { loadSessions } from '../actions/sessionsActions'; import { createStore, applyMiddleware } from 'redux'; import { routerMiddleware } from 'react-router-redux'; +import createSagaMiddleware from 'redux-saga' import Immutable from 'immutable'; -const loadState = () => { - try { - const serializedState = localStorage.getItem('state'); - if (!serializedState) { - return {}; - } - return JSON.parse(serializedState); - } catch (err) { - return {}; - } -} - -const saveState = (state) => { - try { - localStorage.setItem('state', JSON.stringify(state)); - } catch (err) {} -} - -const savedState = loadState(); - const defaultState = { currentSession: null, - sessions: Immutable.List(savedState.sessions || []), - notes: Immutable.List(savedState.notes || []), + sessions: Immutable.List([]), + notes: Immutable.List([]), isAuthenticated: false, }; @@ -34,18 +17,14 @@ export default (history, initialState = storeInitialState) => { - const middleware = routerMiddleware(history); - const store = createStore(rootReducer, initialState, applyMiddleware(middleware)); + const router = routerMiddleware(history); + const saga = createSagaMiddleware(); - store.subscribe(() => { - const state = store.getState().toJSON(); - const stateToPersist = { - sessions: state.sessions, - notes: state.notes, - }; + const store = createStore(rootReducer, initialState, applyMiddleware(router, saga)); - saveState(stateToPersist); - }); + saga.run(rootSaga) + + store.dispatch(loadSessions()); return store; };