summaryrefslogtreecommitdiff
path: root/src/store/configure-store.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/store/configure-store.js')
-rw-r--r--src/store/configure-store.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/store/configure-store.js b/src/store/configure-store.js
new file mode 100644
index 00000000..a7f3ec31
--- /dev/null
+++ b/src/store/configure-store.js
@@ -0,0 +1,31 @@
+import {applyMiddleware, compose, createStore} from "redux";
+import persistState from "redux-localstorage";
+import {createLogger} from "redux-logger";
+import createSagaMiddleware from 'redux-saga';
+import thunk from "redux-thunk";
+import {authRedirectMiddleware} from "../auth/index";
+import rootReducer from "../reducers/index";
+import rootSaga from "../sagas/index";
+import {viewportAdjustmentMiddleware} from "./middlewares/viewport-adjustment";
+
+const sagaMiddleware = createSagaMiddleware();
+const logger = createLogger();
+
+export default function configureStore() {
+ const store = createStore(
+ rootReducer,
+ compose(
+ persistState("auth"),
+ applyMiddleware(
+ logger,
+ thunk,
+ sagaMiddleware,
+ authRedirectMiddleware,
+ viewportAdjustmentMiddleware,
+ )
+ )
+ );
+ sagaMiddleware.run(rootSaga);
+
+ return store;
+}