From 8223ebf393ad5f04a49f162abf338351a29f4ef7 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Mon, 26 Feb 2018 12:44:41 -0800 Subject: [PATCH] Correctly handle referrer from WalletChoice --- .../qml/hifi/commerce/wallet/Wallet.qml | 25 +++++++++++-------- .../qml/hifi/commerce/wallet/WalletChoice.qml | 1 + 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml index 3a037fb9b9..f779588f17 100644 --- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml +++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml @@ -179,8 +179,8 @@ Rectangle { if (isReset) { walletResetSetup(); } else { - root.activeView = "initialize"; - Commerce.getWalletStatus(); + var msg = { referrer: walletChoice.referrer } + followReferrer(msg); } } copyFunction: Commerce.copyKeyFileFrom; @@ -199,14 +199,7 @@ Rectangle { Connections { onSendSignalToWallet: { if (msg.method === 'walletSetup_finished') { - if (msg.referrer === '' || msg.referrer === 'marketplace cta') { - root.activeView = "initialize"; - Commerce.getWalletStatus(); - } else if (msg.referrer === 'purchases') { - sendToScript({method: 'goToPurchases'}); - } else { - sendToScript({method: 'goToMarketplaceItemPage', itemId: msg.referrer}); - } + followReferrer(msg); } else if (msg.method === 'walletSetup_raiseKeyboard') { root.keyboardRaised = true; root.isPassword = msg.isPasswordField; @@ -759,6 +752,7 @@ Rectangle { switch (message.method) { case 'updateWalletReferrer': walletSetup.referrer = message.referrer; + walletChoice.referrer = message.referrer; break; case 'inspectionCertificate_resetCert': // NOP @@ -798,6 +792,17 @@ Rectangle { UserActivityLogger.commerceWalletSetupStarted(timestamp, walletSetup.setupAttemptID, walletSetup.setupFlowVersion, walletSetup.referrer ? walletSetup.referrer : "wallet app", (AddressManager.placename || AddressManager.hostname || '') + (AddressManager.pathname ? AddressManager.pathname.match(/\/[^\/]+/)[0] : '')); } + + function followReferrer(msg) { + if (msg.referrer === '' || msg.referrer === 'marketplace cta') { + root.activeView = "initialize"; + Commerce.getWalletStatus(); + } else if (msg.referrer === 'purchases') { + sendToScript({method: 'goToPurchases'}); + } else { + sendToScript({method: 'goToMarketplaceItemPage', itemId: msg.referrer}); + } + } // // FUNCTION DEFINITIONS END // diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml b/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml index 20d5212ecb..457db55fd1 100644 --- a/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml +++ b/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml @@ -25,6 +25,7 @@ Item { property string activeView: "conflict"; property var proceedFunction: nil; property var copyFunction: nil; + property string referrer: ""; Image { anchors.fill: parent;