diff options
| author | adamhrv <adam@ahprojects.com> | 2018-12-15 19:57:49 +0100 |
|---|---|---|
| committer | adamhrv <adam@ahprojects.com> | 2018-12-15 19:57:49 +0100 |
| commit | 82b2c0b5d6d7baccbe4d574d96e18fe2078047d7 (patch) | |
| tree | a8784b7ec2bc5a0451c252f66a6b786f3a2504f5 /scraper/client/store.js | |
| parent | 8e978af21c2b29f678a09701afb3ec7d65d0a6ab (diff) | |
| parent | c5b02ffab8d388e8a2925e51736b902a48a95e71 (diff) | |
Merge branch 'master' of github.com:adamhrv/megapixels_dev
Diffstat (limited to 'scraper/client/store.js')
| -rw-r--r-- | scraper/client/store.js | 38 |
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 } |
