Files
SCM-Manager/scm-ui/src/createReduxStore.js

41 lines
1.1 KiB
JavaScript
Raw Normal View History

// @flow
import thunk from "redux-thunk";
import logger from "redux-logger";
import { createStore, compose, applyMiddleware, combineReducers } from "redux";
import { routerReducer, routerMiddleware } from "react-router-redux";
2018-07-02 14:50:13 +02:00
import users from "./users/modules/users";
2018-07-31 16:32:16 +02:00
import repos from "./repos/modules/repos";
import repositoryTypes from "./repos/modules/repositoryTypes";
2018-07-31 13:04:09 +02:00
import groups from "./groups/modules/groups";
import auth from "./modules/auth";
2018-07-30 11:18:20 +02:00
import pending from "./modules/pending";
import failure from "./modules/failure";
2018-08-09 13:05:34 +02:00
import config from "./config/modules/config";
2018-07-02 14:50:13 +02:00
2018-07-05 16:48:56 +02:00
import type { BrowserHistory } from "history/createBrowserHistory";
function createReduxStore(history: BrowserHistory) {
2018-07-05 16:48:56 +02:00
const composeEnhancers =
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
2018-07-02 14:50:13 +02:00
const reducer = combineReducers({
router: routerReducer,
2018-07-30 11:18:20 +02:00
pending,
failure,
2018-07-05 16:48:56 +02:00
users,
2018-07-31 16:32:16 +02:00
repos,
2018-08-02 16:09:58 +02:00
repositoryTypes,
2018-07-31 13:04:09 +02:00
groups,
2018-08-09 13:05:34 +02:00
auth,
config
2018-07-02 14:50:13 +02:00
});
return createStore(
reducer,
composeEnhancers(applyMiddleware(routerMiddleware(history), thunk, logger))
);
}
export default createReduxStore;