masto-fe/app/assets/javascripts/components/store/configureStore.jsx

24 lines
771 B
React
Raw Normal View History

import { createStore, applyMiddleware, compose } from 'redux';
2017-01-09 11:37:15 +00:00
import thunk from 'redux-thunk';
import appReducer from '../reducers';
2017-01-16 12:27:58 +00:00
import loadingBarMiddleware from '../middleware/loading_bar';
2017-01-09 11:37:15 +00:00
import errorsMiddleware from '../middleware/errors';
import soundsMiddleware from 'redux-sounds';
import Howler from 'howler';
2017-01-09 11:37:15 +00:00
import Immutable from 'immutable';
Howler.mobileAutoEnable = false;
const soundsData = {
boop: '/sounds/boop.mp3'
};
2017-01-09 11:37:15 +00:00
export default function configureStore() {
return createStore(appReducer, compose(applyMiddleware(
thunk,
loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }),
errorsMiddleware(),
soundsMiddleware(soundsData)
), window.devToolsExtension ? window.devToolsExtension() : f => f));
};