diff --git a/esoui/internalingame/market/gamepad/marketdialogs_gamepad.lua b/esoui/internalingame/market/gamepad/marketdialogs_gamepad.lua
index 9ca9bc3..fab5ab9 100755
--- a/esoui/internalingame/market/gamepad/marketdialogs_gamepad.lua
+++ b/esoui/internalingame/market/gamepad/marketdialogs_gamepad.lua
@@ -111,7 +111,7 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
{
text = SI_MARKET_INSUFFICIENT_FUNDS_CONFIRM_BUTTON_TEXT,
callback = function(...)
- ZO_MarketDialogs_Shared_OpenURL(...)
+ ZO_MarketDialogs_Shared_OpenURLByType(...)
EndPurchase()
end,
}
@@ -120,11 +120,11 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
buyCrownsButtons[1] = openURLButton
insufficientFundsMainText = SI_GAMEPAD_MARKET_INSUFFICIENT_FUNDS_TEXT_WITH_LINK
- self.insufficientCrownsData = ZO_BUY_CROWNS_URL
+ self.insufficientCrownsData = ZO_BUY_CROWNS_URL_TYPE
self.insufficientCrownsTextParams = { mainTextParams = { ZO_PrefixIconNameFormatter("crowns", GetString(SI_CURRENCY_CROWN)), GetString(SI_MARKET_INSUFFICIENT_FUNDS_LINK_TEXT) } }
buyCrownsMainText = SI_CONFIRM_OPEN_URL_TEXT
- g_buyCrownsData = ZO_BUY_CROWNS_URL
+ g_buyCrownsData = ZO_BUY_CROWNS_URL_TYPE
g_buyCrownsTextParams = ZO_BUY_CROWNS_FRONT_FACING_ADDRESS
buyPlusMainText = nil --no plans for this currently
@@ -189,6 +189,9 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
},
buttons = insufficientFundsButtons,
noChoiceCallback = EndPurchaseNoChoice,
+ finishedCallback = function()
+ OnMarketEndPurchase()
+ end,
})
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_MARKET_INVENTORY_FULL",
@@ -210,6 +213,9 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
},
buttons = { defaultMarketBackButton },
noChoiceCallback = EndPurchaseNoChoice,
+ finishedCallback = function()
+ OnMarketEndPurchase()
+ end,
})
ZO_Dialogs_RegisterCustomDialog("GAMEPAD_MARKET_UNABLE_TO_PURCHASE",
@@ -231,6 +237,9 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
},
buttons = { defaultMarketBackButton },
noChoiceCallback = EndPurchaseNoChoice,
+ finishedCallback = function()
+ OnMarketEndPurchase()
+ end,
})
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_OWNED],
@@ -261,7 +270,12 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
},
},
mustChoose = true,
- finishedCallback = function() self:MoveToNextFlowPosition() end
+ finishedCallback = function()
+ if not self.doMoveToNextFlowPosition then
+ OnMarketEndPurchase()
+ end
+ self:MoveToNextFlowPosition()
+ end
})
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_UNLOCKED],
@@ -292,7 +306,12 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
},
},
mustChoose = true,
- finishedCallback = function() self:MoveToNextFlowPosition() end
+ finishedCallback = function()
+ if not self.doMoveToNextFlowPosition then
+ OnMarketEndPurchase()
+ end
+ self:MoveToNextFlowPosition()
+ end
})
ZO_Dialogs_RegisterCustomDialog(DIALOG_FLOW[FLOW_CONFIRMATION],
@@ -313,18 +332,22 @@ function ZO_GamepadMarketPurchaseManager:Initialize()
{
keybind = "DIALOG_NEGATIVE",
text = SI_GAMEPAD_MARKET_CONFIRM_PURCHASE_BACK_KEYBIND_LABEL,
- callback = EndPurchase,
+ callback = function(dialog, isNoChoice)
+ OnMarketEndPurchase()
+ self:EndPurchase(isNoChoice)
+ end,
},
{
keybind = "DIALOG_SECONDARY",
text = SI_GAMEPAD_MARKET_CONFIRM_PURCHASE_BUY_NOW_LABEL,
callback = function(dialog)
+ OnMarketEndPurchase(self.marketProductId)
self.doMoveToNextFlowPosition = true
end,
},
},
mustChoose = true,
- finishedCallback = function()
+ finishedCallback = function(dialog)
self:MoveToNextFlowPosition()
end,
})
@@ -634,8 +657,7 @@ do
local expectedPurchaseResult = CouldPurchaseMarketProduct(self.marketProductId)
if expectedPurchaseResult == MARKET_PURCHASE_RESULT_NOT_ENOUGH_VC then
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_MARKET_INSUFFICIENT_CROWNS", self.insufficientCrownsData, self.insufficientCrownsTextParams)
- else
- if expectedPurchaseResult == MARKET_PURCHASE_RESULT_NOT_ENOUGH_ROOM then
+ elseif expectedPurchaseResult == MARKET_PURCHASE_RESULT_NOT_ENOUGH_ROOM then
local spaceNeeded = GetSpaceNeededToPurchaseMarketProduct(self.marketProductId)
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_MARKET_INVENTORY_FULL", inventoryFullData, { mainTextParams = { spaceNeeded } })
elseif expectedPurchaseResult == MARKET_PURCHASE_RESULT_ALREADY_UNLOCKED_BACKPACK_UPGRADES or expectedPurchaseResult == MARKET_PURCHASE_RESULT_ALREADY_UNLOCKED_BANK_UPGRADES then
@@ -647,7 +669,7 @@ do
else
self:SetFlowPosition(FLOW_CONFIRMATION)
end
- end
+ OnMarketStartPurchase(self.marketProductId)
end
end
@@ -714,9 +736,15 @@ do
end
function ZO_GamepadMarket_ShowBuyCrownsDialog()
+ OnMarketPurchaseMoreCrowns()
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_MARKET_BUY_CROWNS", g_buyCrownsData, g_buyCrownsTextParams)
end
function ZO_GamepadMarket_ShowBuyPlusDialog()
+ local uiPlatform = GetUIPlatform()
+ if uiPlatform == UI_PLATFORM_PC then
+ ZO_Dialogs_ShowGamepadDialog("CONFIRM_OPEN_URL_BY_TYPE", ZO_BUY_SUBSCRIPTION_URL_TYPE, ZO_BUY_SUBSCRIPTION_FRONT_FACING_ADDRESS)
+ else
ZO_Dialogs_ShowGamepadDialog("GAMEPAD_MARKET_BUY_PLUS")
end
+end
\ No newline at end of file