Abstract store creation

This commit is contained in:
Jordan Eldredge 2017-01-13 20:49:37 -08:00
parent 5ec2489e90
commit eef1df833d
2 changed files with 19 additions and 13 deletions

View file

@ -1,12 +1,8 @@
import React from 'react';
import {render} from 'react-dom';
import {Provider} from 'react-redux';
import {createStore, applyMiddleware} from 'redux';
import thunk from 'redux-thunk';
import mediaMiddleware from './mediaMiddleware';
import reducer from './reducers';
import getStore from './store';
import WindowManager from './components/WindowManager.jsx';
import Browser from './browser';
import MainWindow from './components/MainWindow.jsx';
@ -24,14 +20,7 @@ if (new Browser(window).isCompatible) {
const equalizer = hash.includes('equalizer');
const winamp = Winamp;
const store = createStore(
reducer,
window.devToolsExtension && window.devToolsExtension(),
applyMiddleware(
thunk,
mediaMiddleware(winamp.media)
)
);
const store = getStore(winamp);
render(
<Provider store={store}>

17
js/store.js Normal file
View file

@ -0,0 +1,17 @@
import {createStore, applyMiddleware} from 'redux';
import reducer from './reducers';
import thunk from 'redux-thunk';
import mediaMiddleware from './mediaMiddleware';
const getStore = (winamp) => (
createStore(
reducer,
window.devToolsExtension && window.devToolsExtension(),
applyMiddleware(
thunk,
mediaMiddleware(winamp.media)
)
)
);
export default getStore;