From a17b76ac75f506f5da6fe8adf9c36632b60d4226 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sat, 26 Sep 2020 14:56:02 +0200 Subject: refactor to use app-rooted js imports --- frontend/app/store.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 frontend/app/store.js (limited to 'frontend/app/store.js') diff --git a/frontend/app/store.js b/frontend/app/store.js new file mode 100644 index 0000000..9cf1dbe --- /dev/null +++ b/frontend/app/store.js @@ -0,0 +1,45 @@ +import { applyMiddleware, compose, combineReducers, createStore } from 'redux' +import { connectRouter, routerMiddleware } from 'connected-react-router' +import { createBrowserHistory } from 'history' +import thunk from 'redux-thunk' + +import uploadReducer from 'app/views/upload/upload.reducer' +import graphReducer from 'app/views/graph/graph.reducer' +import pageReducer from 'app/views/page/page.reducer' +import tileReducer from 'app/views/tile/tile.reducer' +import siteReducer from './views/site/site.reducer' + +const createRootReducer = history => ( + combineReducers({ + auth: (state = {}) => state, + router: connectRouter(history), + site: siteReducer, + graph: graphReducer, + page: pageReducer, + tile: tileReducer, + upload: uploadReducer, + }) +) + +const configureStore = (initialState = {}, history) => { + const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose + + const store = createStore( + createRootReducer(history), + initialState, + composeEnhancers( + applyMiddleware( + thunk, + routerMiddleware(history) + ), + ), + ) + + return store +} + +const history = createBrowserHistory() +const store = configureStore({}, history) +const { dispatch } = store + +export { store, history, dispatch } -- cgit v1.2.3-70-g09d2