mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-04 21:41:45 +00:00
Dismiss native controller (usually Safari) when handling certain urls
This commit is contained in:
parent
121f33b968
commit
e8b193443d
@ -189,22 +189,20 @@ public func openExternalUrl(context: AccountContext, urlContext: OpenURLContext
|
||||
switch navigation {
|
||||
case .info:
|
||||
let _ = (context.account.postbox.loadedPeerWithId(peerId)
|
||||
|> deliverOnMainQueue).start(next: { peer in
|
||||
if let infoController = peerInfoController(context: context, peer: peer) {
|
||||
if let navigationController = navigationController {
|
||||
navigationController.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
|
||||
}
|
||||
navigationController?.pushViewController(infoController)
|
||||
}
|
||||
})
|
||||
|> deliverOnMainQueue).start(next: { peer in
|
||||
if let infoController = peerInfoController(context: context, peer: peer) {
|
||||
context.sharedContext.applicationBindings.dismissNativeController()
|
||||
navigationController?.pushViewController(infoController)
|
||||
}
|
||||
})
|
||||
case let .chat(_, messageId):
|
||||
context.sharedContext.applicationBindings.dismissNativeController()
|
||||
if let navigationController = navigationController {
|
||||
navigationController.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
|
||||
navigateToChatController(navigationController: navigationController, context: context, chatLocation: .peer(peerId), messageId: messageId)
|
||||
}
|
||||
case let .withBotStartPayload(payload):
|
||||
context.sharedContext.applicationBindings.dismissNativeController()
|
||||
if let navigationController = navigationController {
|
||||
navigationController.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
|
||||
navigateToChatController(navigationController: navigationController, context: context, chatLocation: .peer(peerId), botStart: payload)
|
||||
}
|
||||
default:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user