From eef1df833d749e8773c5c9b93335d7070547e2aa Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Fri, 13 Jan 2017 20:49:37 -0800 Subject: [PATCH] Abstract store creation --- js/index.js | 15 ++------------- js/store.js | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 js/store.js diff --git a/js/index.js b/js/index.js index c7bafbc3..f21d4566 100644 --- a/js/index.js +++ b/js/index.js @@ -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( diff --git a/js/store.js b/js/store.js new file mode 100644 index 00000000..bf4f03fb --- /dev/null +++ b/js/store.js @@ -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;