mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
f7ca39103c
commit
8007e25fc4
@ -228,6 +228,8 @@ public class PremiumLimitsListScreen: ViewController {
|
|||||||
if scrollView.contentSize.width > scrollView.contentSize.height || scrollView.contentSize.height > 1500.0 {
|
if scrollView.contentSize.width > scrollView.contentSize.height || scrollView.contentSize.height > 1500.0 {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
} else if otherGestureRecognizer.view is PremiumCoinComponent.View {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ func openResolvedUrlImpl(
|
|||||||
})
|
})
|
||||||
dismissInput()
|
dismissInput()
|
||||||
case let .share(url, text, to):
|
case let .share(url, text, to):
|
||||||
let continueWithPeer: (PeerId) -> Void = { peerId in
|
let continueWithPeer: (PeerId, Int64?) -> Void = { peerId, threadId in
|
||||||
let textInputState: ChatTextInputState?
|
let textInputState: ChatTextInputState?
|
||||||
if let text = text, !text.isEmpty {
|
if let text = text, !text.isEmpty {
|
||||||
if let url = url, !url.isEmpty {
|
if let url = url, !url.isEmpty {
|
||||||
@ -320,15 +320,42 @@ func openResolvedUrlImpl(
|
|||||||
textInputState = nil
|
textInputState = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let updateControllers = { [weak navigationController] in
|
||||||
|
guard let navigationController else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let chatController: Signal<ChatController, NoError>
|
||||||
|
if let threadId {
|
||||||
|
chatController = chatControllerForForumThreadImpl(context: context, peerId: peerId, threadId: threadId)
|
||||||
|
} else {
|
||||||
|
chatController = .single(ChatControllerImpl(context: context, chatLocation: .peer(id: peerId)))
|
||||||
|
}
|
||||||
|
|
||||||
|
let _ = (chatController
|
||||||
|
|> deliverOnMainQueue).start(next: { [weak navigationController] chatController in
|
||||||
|
guard let navigationController else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var controllers = navigationController.viewControllers.filter { controller in
|
||||||
|
if controller is PeerSelectionController {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
controllers.append(chatController)
|
||||||
|
navigationController.setViewControllers(controllers, animated: true)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if let textInputState = textInputState {
|
if let textInputState = textInputState {
|
||||||
let _ = (ChatInterfaceState.update(engine: context.engine, peerId: peerId, threadId: nil, { currentState in
|
let _ = (ChatInterfaceState.update(engine: context.engine, peerId: peerId, threadId: threadId, { currentState in
|
||||||
return currentState.withUpdatedComposeInputState(textInputState)
|
return currentState.withUpdatedComposeInputState(textInputState)
|
||||||
})
|
})
|
||||||
|> deliverOnMainQueue).startStandalone(completed: {
|
|> deliverOnMainQueue).startStandalone(completed: {
|
||||||
navigationController?.pushViewController(ChatControllerImpl(context: context, chatLocation: .peer(id: peerId)))
|
updateControllers()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
navigationController?.pushViewController(ChatControllerImpl(context: context, chatLocation: .peer(id: peerId)))
|
updateControllers()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,7 +371,7 @@ func openResolvedUrlImpl(
|
|||||||
|> deliverOnMainQueue).startStandalone(next: { peer in
|
|> deliverOnMainQueue).startStandalone(next: { peer in
|
||||||
if let peer = peer {
|
if let peer = peer {
|
||||||
context.sharedContext.applicationBindings.dismissNativeController()
|
context.sharedContext.applicationBindings.dismissNativeController()
|
||||||
continueWithPeer(peer.id)
|
continueWithPeer(peer.id, nil)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@ -352,7 +379,7 @@ func openResolvedUrlImpl(
|
|||||||
|> deliverOnMainQueue).startStandalone(next: { peer in
|
|> deliverOnMainQueue).startStandalone(next: { peer in
|
||||||
if let peer = peer {
|
if let peer = peer {
|
||||||
context.sharedContext.applicationBindings.dismissNativeController()
|
context.sharedContext.applicationBindings.dismissNativeController()
|
||||||
continueWithPeer(peer.id)
|
continueWithPeer(peer.id, nil)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
/*let query = to.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789").inverted)
|
/*let query = to.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789").inverted)
|
||||||
@ -377,13 +404,8 @@ func openResolvedUrlImpl(
|
|||||||
context.sharedContext.applicationBindings.dismissNativeController()
|
context.sharedContext.applicationBindings.dismissNativeController()
|
||||||
} else {
|
} else {
|
||||||
let controller = context.sharedContext.makePeerSelectionController(PeerSelectionControllerParams(context: context, filter: [.onlyWriteable, .excludeDisabled], selectForumThreads: true))
|
let controller = context.sharedContext.makePeerSelectionController(PeerSelectionControllerParams(context: context, filter: [.onlyWriteable, .excludeDisabled], selectForumThreads: true))
|
||||||
controller.peerSelected = { [weak controller] peer, _ in
|
controller.peerSelected = { peer, threadId in
|
||||||
let peerId = peer.id
|
continueWithPeer(peer.id, threadId)
|
||||||
|
|
||||||
if let strongController = controller {
|
|
||||||
strongController.dismiss()
|
|
||||||
continueWithPeer(peerId)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
context.sharedContext.applicationBindings.dismissNativeController()
|
context.sharedContext.applicationBindings.dismissNativeController()
|
||||||
navigationController?.pushViewController(controller)
|
navigationController?.pushViewController(controller)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user