mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 14:29:03 +02:00
Merge pull request #12025 from zfox23/commerce_fixWalletSetupCancel
Commerce: Fix the behavior of the 'cancel' button in Wallet Setup
This commit is contained in:
commit
08edc52932
5 changed files with 29 additions and 8 deletions
|
@ -41,6 +41,7 @@ Rectangle {
|
||||||
property bool debugCheckoutSuccess: false;
|
property bool debugCheckoutSuccess: false;
|
||||||
property bool canRezCertifiedItems: Entities.canRezCertified() || Entities.canRezTmpCertified();
|
property bool canRezCertifiedItems: Entities.canRezCertified() || Entities.canRezTmpCertified();
|
||||||
property bool isWearable;
|
property bool isWearable;
|
||||||
|
property string referrer;
|
||||||
// Style
|
// Style
|
||||||
color: hifi.colors.white;
|
color: hifi.colors.white;
|
||||||
Connections {
|
Connections {
|
||||||
|
@ -131,7 +132,7 @@ Rectangle {
|
||||||
id: notSetUpTimer;
|
id: notSetUpTimer;
|
||||||
interval: 200;
|
interval: 200;
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
sendToScript({method: 'checkout_walletNotSetUp', itemId: itemId});
|
sendToScript({method: 'checkout_walletNotSetUp', itemId: itemId, referrer: referrer});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -877,6 +878,7 @@ Rectangle {
|
||||||
itemName = message.params.itemName;
|
itemName = message.params.itemName;
|
||||||
root.itemPrice = message.params.itemPrice;
|
root.itemPrice = message.params.itemPrice;
|
||||||
itemHref = message.params.itemHref;
|
itemHref = message.params.itemHref;
|
||||||
|
referrer = message.params.referrer;
|
||||||
setBuyText();
|
setBuyText();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -252,7 +252,7 @@ Item {
|
||||||
height: 50;
|
height: 50;
|
||||||
text: "Cancel";
|
text: "Cancel";
|
||||||
onClicked: {
|
onClicked: {
|
||||||
sendSignalToWallet({method: 'walletSetup_cancelClicked'});
|
sendSignalToWallet({method: 'walletSetup_cancelClicked', referrer: root.referrer });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,10 +61,26 @@
|
||||||
function fromQml(message) {
|
function fromQml(message) {
|
||||||
switch (message.method) {
|
switch (message.method) {
|
||||||
case 'passphrasePopup_cancelClicked':
|
case 'passphrasePopup_cancelClicked':
|
||||||
case 'walletSetup_cancelClicked':
|
|
||||||
case 'needsLogIn_cancelClicked':
|
case 'needsLogIn_cancelClicked':
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoHomeScreen();
|
||||||
break;
|
break;
|
||||||
|
case 'walletSetup_cancelClicked':
|
||||||
|
switch (message.referrer) {
|
||||||
|
case '': // User clicked "Wallet" app
|
||||||
|
case undefined:
|
||||||
|
case null:
|
||||||
|
tablet.gotoHomeScreen();
|
||||||
|
break;
|
||||||
|
case 'purchases':
|
||||||
|
case 'marketplace cta':
|
||||||
|
case 'mainPage':
|
||||||
|
tablet.gotoWebScreen(MARKETPLACE_URL, MARKETPLACES_INJECT_SCRIPT_URL);
|
||||||
|
break;
|
||||||
|
default: // User needs to return to an individual marketplace item URL
|
||||||
|
tablet.gotoWebScreen(MARKETPLACE_URL + '/items/' + message.referrer, MARKETPLACES_INJECT_SCRIPT_URL);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'needsLogIn_loginClicked':
|
case 'needsLogIn_loginClicked':
|
||||||
openLoginWindow();
|
openLoginWindow();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -243,13 +243,14 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function buyButtonClicked(id, name, author, price, href) {
|
function buyButtonClicked(id, name, author, price, href, referrer) {
|
||||||
EventBridge.emitWebEvent(JSON.stringify({
|
EventBridge.emitWebEvent(JSON.stringify({
|
||||||
type: "CHECKOUT",
|
type: "CHECKOUT",
|
||||||
itemId: id,
|
itemId: id,
|
||||||
itemName: name,
|
itemName: name,
|
||||||
itemPrice: price ? parseInt(price, 10) : 0,
|
itemPrice: price ? parseInt(price, 10) : 0,
|
||||||
itemHref: href
|
itemHref: href,
|
||||||
|
referrer: referrer
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -316,7 +317,8 @@
|
||||||
$(this).closest('.grid-item').find('.item-title').text(),
|
$(this).closest('.grid-item').find('.item-title').text(),
|
||||||
$(this).closest('.grid-item').find('.creator').find('.value').text(),
|
$(this).closest('.grid-item').find('.creator').find('.value').text(),
|
||||||
$(this).closest('.grid-item').find('.item-cost').text(),
|
$(this).closest('.grid-item').find('.item-cost').text(),
|
||||||
$(this).attr('data-href'));
|
$(this).attr('data-href'),
|
||||||
|
"mainPage");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -420,7 +422,8 @@
|
||||||
$('#top-center').find('h1').text(),
|
$('#top-center').find('h1').text(),
|
||||||
$('#creator').find('.value').text(),
|
$('#creator').find('.value').text(),
|
||||||
cost,
|
cost,
|
||||||
href);
|
href,
|
||||||
|
"itemPage");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
maybeAddPurchasesButton();
|
maybeAddPurchasesButton();
|
||||||
|
|
|
@ -436,7 +436,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
||||||
wireEventBridge(true);
|
wireEventBridge(true);
|
||||||
tablet.sendToQml({
|
tablet.sendToQml({
|
||||||
method: 'updateWalletReferrer',
|
method: 'updateWalletReferrer',
|
||||||
referrer: message.itemId
|
referrer: message.referrer === "itemPage" ? message.itemId : message.referrer
|
||||||
});
|
});
|
||||||
openWallet();
|
openWallet();
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue