From 5f60af596e81333e3ccd6c7ae6cc5268310a53c2 Mon Sep 17 00:00:00 2001 From: bill bittner Date: Wed, 14 Feb 2018 17:40:11 -0800 Subject: [PATCH] fixed handleShowPageUri saga --- react/sagas/show_uri.js | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/react/sagas/show_uri.js b/react/sagas/show_uri.js index f0973d67..0ac519ee 100644 --- a/react/sagas/show_uri.js +++ b/react/sagas/show_uri.js @@ -1,9 +1,10 @@ -import { takeLatest } from 'redux-saga/effects'; +import { call, put, takeLatest } from 'redux-saga/effects'; import * as actions from 'constants/show_action_types'; import { onRequestError, onNewChannelRequest, onNewAssetRequest } from 'actions/show'; import lbryUri from 'utils/lbryUri'; -function parseAndUpdateIdentifierAndClaim (modifier, claim) { +function* parseAndUpdateIdentifierAndClaim (modifier, claim) { + console.log('parseAndUpdateIdentifierAndClaim'); // this is a request for an asset // claim will be an asset claim // the identifier could be a channel or a claim id @@ -12,45 +13,46 @@ function parseAndUpdateIdentifierAndClaim (modifier, claim) { ({ isChannel, channelName, channelClaimId, claimId } = lbryUri.parseIdentifier(modifier)); ({ claimName, extension } = lbryUri.parseClaim(claim)); } catch (error) { - return onRequestError(error.message); + return yield put(onRequestError(error.message)); } // trigger an new action to update the store if (isChannel) { - return onNewAssetRequest(claimName, null, channelName, channelClaimId, extension); - } else { - return onNewAssetRequest(claimName, claimId, null, null, extension); - } + return yield put(onNewAssetRequest(claimName, null, channelName, channelClaimId, extension)); + }; + yield put(onNewAssetRequest(claimName, claimId, null, null, extension)); } -function parseAndUpdateClaimOnly (claim) { +function* parseAndUpdateClaimOnly (claim) { + console.log('parseAndUpdateIdentifierAndClaim'); // this could be a request for an asset or a channel page // claim could be an asset claim or a channel claim let isChannel, channelName, channelClaimId; try { ({ isChannel, channelName, channelClaimId } = lbryUri.parseIdentifier(claim)); } catch (error) { - return onRequestError(error.message); + return yield put(onRequestError(error.message)); } // trigger an new action to update the store // return early if this request is for a channel if (isChannel) { - return onNewChannelRequest(channelName, channelClaimId); + return yield put(onNewChannelRequest(channelName, channelClaimId)); } // if not for a channel, parse the claim request let claimName, extension; try { ({claimName, extension} = lbryUri.parseClaim(claim)); } catch (error) { - return onRequestError(error.message); + return yield put(onRequestError(error.message)); } - onNewAssetRequest(claimName, null, null, null, extension); + yield put(onNewAssetRequest(claimName, null, null, null, extension)); } function* handleShowPageUri (action) { - const { params: { identifier, claim } } = action.data; + console.log('handleShowPageUri'); + const { identifier, claim } = action.data; if (identifier) { - return parseAndUpdateIdentifierAndClaim(identifier, claim); + return yield call(parseAndUpdateIdentifierAndClaim, identifier, claim); } - parseAndUpdateClaimOnly(claim); + yield call(parseAndUpdateClaimOnly, claim); }; export function* watchHandleShowPageUri () {