diff --git a/src/lib/store/ship.js b/src/lib/store/ship.js index d4d2211..1fd3c0c 100644 --- a/src/lib/store/ship.js +++ b/src/lib/store/ship.js @@ -8,36 +8,33 @@ import { initial } from "lodash"; let composeEnhancers = compose; if (dev && browser && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) { - composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; + composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; } -export default () => { +export default (initialState = undefined) => { + if (browser) { + const i = localStorage.getItem("ship"); - let initialState = undefined; + if (i) initialState = JSON.parse(localStorage.getItem("ship")); + } - if( browser ) { - const i =localStorage.getItem('ship'); + const duxStore = shipDux.createStore(initialState, (mw) => + composeEnhancers(applyMiddleware(mw)) + ); - if(i) initialState = JSON.parse(localStorage.getItem('ship')); - } - - const duxStore = shipDux.createStore(initialState, (mw) => - composeEnhancers(applyMiddleware(mw)) - ); - - let previous; - const state = readable(duxStore.getState(), (set) => { - duxStore.subscribe(() => { - if (previous === duxStore.getState()) return; - previous = duxStore.getState(); - set(previous); - if( browser ) localStorage.setItem('ship', JSON.stringify(previous)); - }); + let previous; + const state = readable(duxStore.getState(), (set) => { + duxStore.subscribe(() => { + if (previous === duxStore.getState()) return; + previous = duxStore.getState(); + set(previous); + if (browser) localStorage.setItem("ship", JSON.stringify(previous)); }); + }); - return { - dispatch: duxStore.dispatch, - state, - shipMass: derived(state, (state) => state.reqs.mass), - }; + return { + dispatch: duxStore.dispatch, + state, + shipMass: derived(state, (state) => state.reqs.mass), + }; };