--- 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;
};