summaryrefslogtreecommitdiff
path: root/scraper/client/store.js
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2018-12-15 19:57:49 +0100
committeradamhrv <adam@ahprojects.com>2018-12-15 19:57:49 +0100
commit82b2c0b5d6d7baccbe4d574d96e18fe2078047d7 (patch)
treea8784b7ec2bc5a0451c252f66a6b786f3a2504f5 /scraper/client/store.js
parent8e978af21c2b29f678a09701afb3ec7d65d0a6ab (diff)
parentc5b02ffab8d388e8a2925e51736b902a48a95e71 (diff)
Merge branch 'master' of github.com:adamhrv/megapixels_dev
Diffstat (limited to 'scraper/client/store.js')
-rw-r--r--scraper/client/store.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/scraper/client/store.js b/scraper/client/store.js
new file mode 100644
index 00000000..043af351
--- /dev/null
+++ b/scraper/client/store.js
@@ -0,0 +1,38 @@
+import { applyMiddleware, compose, combineReducers, createStore } from 'redux'
+import { connectRouter, routerMiddleware } from 'connected-react-router'
+import { createBrowserHistory } from 'history'
+import thunk from 'redux-thunk'
+import { login } from './util'
+
+import metadataReducer from './metadata/metadata.reducer'
+import searchReducer from './search/search.reducer'
+import reviewReducer from './review/review.reducer'
+
+const rootReducer = combineReducers({
+ auth: (state = login()) => state,
+ metadata: metadataReducer,
+ search: searchReducer,
+ review: reviewReducer,
+})
+
+function configureStore(initialState = {}, history) {
+ const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
+
+ const store = createStore(
+ connectRouter(history)(rootReducer), // new root reducer with router state
+ initialState,
+ composeEnhancers(
+ applyMiddleware(
+ thunk,
+ routerMiddleware(history)
+ ),
+ ),
+ )
+
+ return store
+}
+
+const history = createBrowserHistory()
+const store = configureStore({}, history)
+
+export { store, history }