mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Link opening improvements
This commit is contained in:
@@ -3625,7 +3625,23 @@ extension SharedAccountContextImpl {
|
||||
|
||||
let proController = self.makeSGProController(context: context)
|
||||
let sgWebSettings = context.currentAppConfiguration.with { $0 }.sgWebSettings
|
||||
let payWallController = sgPayWallController(statusSignal: statusSignal, replacementController: proController, presentationData: self.currentPresentationData.with { $0 }, SGIAPManager: sgIAP, openUrl: self.applicationBindings.openUrl, paymentsEnabled: sgWebSettings.global.paymentsEnabled, canBuyInBeta: sgWebSettings.user.canBuyInBeta, openAppStorePage: self.applicationBindings.openAppStorePage)
|
||||
let presentationData = self.currentPresentationData.with { $0 }
|
||||
var payWallController: ViewController? = nil
|
||||
let openUrl: ((String, Bool) -> Void) = { [weak self, weak context] url, forceExternal in
|
||||
guard let strongSelf = self, let strongContext = context, let strongPayWallController = payWallController else {
|
||||
return
|
||||
}
|
||||
let navigationController = strongPayWallController.navigationController as? NavigationController
|
||||
Queue.mainQueue().async {
|
||||
strongSelf.openExternalUrl(context: strongContext, urlContext: .generic, url: url, forceExternal: forceExternal, presentationData: presentationData, navigationController: navigationController, dismissInput: {})
|
||||
}
|
||||
}
|
||||
|
||||
var supportUrl: String? = nil
|
||||
if let supportUrlString = sgWebSettings.global.proSupportUrl, !supportUrlString.isEmpty, let data = Data(base64Encoded: supportUrlString), let decodedString = String(data: data, encoding: .utf8) {
|
||||
supportUrl = decodedString
|
||||
}
|
||||
payWallController = sgPayWallController(statusSignal: statusSignal, replacementController: proController, presentationData: presentationData, SGIAPManager: sgIAP, openUrl: openUrl, paymentsEnabled: sgWebSettings.global.paymentsEnabled, canBuyInBeta: sgWebSettings.user.canBuyInBeta, openAppStorePage: self.applicationBindings.openAppStorePage, proSupportUrl: supportUrl)
|
||||
return payWallController
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user