Skip to content

Commit

Permalink
fix(Coinify): WIP set up refreshQuote
Browse files Browse the repository at this point in the history
  • Loading branch information
Philip Welber committed May 31, 2018
1 parent 939e938 commit ccc028a
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class CoinifyBuyContainer extends React.Component {
render () {
const { data, modalActions, coinifyActions, coinifyDataActions, rateQuoteR, buyQuoteR, currency, paymentMedium, trade, formActions, canTrade, ...rest } = this.props
const { step, checkoutBusy, coinifyBusy } = rest
const { handleTrade, fetchQuote } = coinifyDataActions
const { handleTrade, fetchQuote, refreshBuyQuote } = coinifyDataActions
const { showModal } = modalActions
const { coinifyNotAsked, openKYC, coinifyNextCheckoutStep } = coinifyActions
const { change } = formActions
Expand All @@ -49,6 +49,7 @@ class CoinifyBuyContainer extends React.Component {
buyQuoteR={buyQuoteR}
rateQuoteR={rateQuoteR}
fetchBuyQuote={quote => fetchQuote({ quote, nextAddress: value.nextAddress })}
refreshQuote={refreshBuyQuote}
currency={currency}
checkoutBusy={checkoutBusy}
setMax={(amt) => formActions.change('coinifyCheckoutBuy', 'leftVal', amt)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ export const COINIFY_FETCH_QUOTE = '@CORE.COINIFY_FETCH_QUOTE'
export const COINIFY_FETCH_QUOTE_LOADING = '@CORE.COINIFY_FETCH_QUOTE_LOADING'
export const COINIFY_FETCH_QUOTE_SUCCESS = '@CORE.COINIFY_FETCH_QUOTE_SUCCESS'
export const COINIFY_FETCH_QUOTE_FAILURE = '@CORE.COINIFY_FETCH_QUOTE_FAILURE'
export const COINIFY_REFRESH_BUY_QUOTE = '@CORE.COINIFY_REFRESH_BUY_QUOTE'

export const COINIFY_FETCH_QUOTE_AND_MEDIUMS = '@CORE.COINIFY_FETCH_QUOTE_AND_MEDIUMS'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ export const fetchQuote = (data) => ({ type: AT.COINIFY_FETCH_QUOTE, payload: da
export const fetchQuoteLoading = () => ({ type: AT.COINIFY_FETCH_QUOTE_LOADING })
export const fetchQuoteSuccess = (data) => ({ type: AT.COINIFY_FETCH_QUOTE_SUCCESS, payload: data })
export const fetchQuoteFailure = (error) => ({ type: AT.COINIFY_FETCH_QUOTE_FAILURE, payload: error })
export const refreshBuyQuote = () => ({ type: AT.COINIFY_REFRESH_BUY_QUOTE })

export const fetchQuoteAndMediums = (data) => ({ type: AT.COINIFY_FETCH_QUOTE_AND_MEDIUMS, payload: data })

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import ExchangeDelegate from '../../../exchange/delegate'
import { apply, call, put, select } from 'redux-saga/effects'
import { apply, call, put, select, fork, take } from 'redux-saga/effects'
import * as A from './actions'
import * as S from './selectors'
import * as AT from './actionTypes'
import * as buySellSelectors from '../../kvStore/buySell/selectors'
import { coinifyService } from '../../../exchange/service'
import * as buySellA from '../../kvStore/buySell/actions'
Expand Down Expand Up @@ -66,12 +67,18 @@ export default ({ api, options }) => {
const quote = yield apply(coinify.data, getQuote,
[Math.floor(amount), baseCurrency, quoteCurrency])
yield put(A.fetchQuoteSuccess(quote))
yield fork(waitForRefreshQuote, data.quote)
return quote
} catch (e) {
yield put(A.fetchQuoteFailure(e))
}
}

const waitForRefreshQuote = function * (quotePayload) {
yield take(AT.COINIFY_REFRESH_BUY_QUOTE)
yield put(A.fetchQuote(quotePayload))
}

const fetchQuoteAndMediums = function * (data) {
try {
const { amt, baseCurrency, quoteCurrency, medium, type } = data.payload
Expand Down

0 comments on commit ccc028a

Please sign in to comment.