From f26b2cc35be711279ce273e76a010195aaac11a5 Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Tue, 7 Mar 2017 16:26:42 +0200 Subject: [PATCH] Add thunk since saga was too difficult for people. (update to sdk ref too.) --- package.json | 3 ++- src/index.js | 2 +- src/store.js | 5 +++-- yarn.lock | 8 ++++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index cd8ff5ab..95ca2a06 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,10 @@ "redux": "^3.6.0", "redux-form": "^6.5.0", "redux-saga": "^0.14.3", + "redux-thunk": "^2.2.0", "sanitize.css": "^4.1.0", "sharetribe-scripts": "0.9.2", - "sharetribe-sdk": "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#fd1232a18f86cdef3335b465b53fc4721048091f", + "sharetribe-sdk": "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#d8f2e3f153e22db075b7423090fa06d13b9ca314", "source-map-support": "^0.4.11", "url": "^0.11.0" }, diff --git a/src/index.js b/src/index.js index 20a90bee..ca5c878c 100644 --- a/src/index.js +++ b/src/index.js @@ -54,8 +54,8 @@ const renderWhenAuthInfoLoaded = store => { if (typeof window !== 'undefined') { // eslint-disable-next-line no-underscore-dangle const preloadedState = window.__PRELOADED_STATE__ || {}; - const store = configureStore(preloadedState); const sdk = createInstance({ clientId: config.sdk.clientId, baseUrl: config.sdk.baseUrl }); + const store = configureStore(sdk, preloadedState); store.runSaga(createRootSaga(sdk)); diff --git a/src/store.js b/src/store.js index a431d492..cd539478 100644 --- a/src/store.js +++ b/src/store.js @@ -1,16 +1,17 @@ /* eslint-disable no-underscore-dangle */ import { createStore, applyMiddleware, compose } from 'redux'; import createSagaMiddleware, { END } from 'redux-saga'; +import thunk from 'redux-thunk'; import createReducer from './reducers'; /** * Create a new store with the given initial state. Adds Redux * middleware and enhancers. */ -export default function configureStore(initialState = {}) { +export default function configureStore(sdk, initialState = {}) { const sagaMiddleware = createSagaMiddleware(); - const middlewares = [sagaMiddleware]; + const middlewares = [thunk.withExtraArgument(sdk), sagaMiddleware]; // Enable Redux Devtools in client side dev mode. const composeEnhancers = process.env.NODE_ENV !== 'production' && diff --git a/yarn.lock b/yarn.lock index 84db9ee5..ac21d97d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5561,6 +5561,10 @@ redux-saga@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.14.3.tgz#28cd2c5b49cf780a1de25875765724150c630513" +redux-thunk@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" + redux@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" @@ -5919,9 +5923,9 @@ sharetribe-scripts@0.9.2: optionalDependencies: fsevents "1.0.17" -"sharetribe-sdk@git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#fd1232a18f86cdef3335b465b53fc4721048091f": +"sharetribe-sdk@git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#d8f2e3f153e22db075b7423090fa06d13b9ca314": version "0.0.1" - resolved "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#fd1232a18f86cdef3335b465b53fc4721048091f" + resolved "git+ssh://git@github.com/sharetribe/sharetribe-sdk-js#d8f2e3f153e22db075b7423090fa06d13b9ca314" dependencies: axios "^0.15.3" js-cookie "^2.1.3"