2020-02-04 17:20:39 +01:00
|
|
|
import { createStore, applyMiddleware, combineReducers, compose } from 'redux'
|
|
|
|
import createSagaMiddleware from 'redux-saga'
|
2020-02-17 22:28:57 +01:00
|
|
|
import rootSaga from '../sagas/root'
|
2020-02-19 12:21:04 +01:00
|
|
|
import { sessionReducer } from '../reducers/session.reducers';
|
2020-02-19 13:19:04 +01:00
|
|
|
import { messagesReducer } from '../reducers/messages.reducers';
|
2020-02-19 11:53:32 +01:00
|
|
|
import project from '../reducers/project'
|
2020-02-04 17:20:39 +01:00
|
|
|
|
|
|
|
const sagaMiddleware = createSagaMiddleware()
|
|
|
|
|
|
|
|
const rootReducer = combineReducers({
|
2020-02-19 12:21:04 +01:00
|
|
|
session: sessionReducer,
|
2020-02-19 13:19:04 +01:00
|
|
|
messages: messagesReducer,
|
2020-02-19 11:53:32 +01:00
|
|
|
project
|
2020-02-04 17:20:39 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
|
|
|
|
|
|
|
|
export function configureStore(initialState = {}) {
|
|
|
|
const store = createStore(
|
|
|
|
rootReducer,
|
|
|
|
initialState,
|
|
|
|
composeEnhancers(
|
|
|
|
applyMiddleware(sagaMiddleware)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
sagaMiddleware.run(rootSaga);
|
|
|
|
return store;
|
|
|
|
}
|