mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Fix peer selection controller
This commit is contained in:
parent
79142834fb
commit
e4bb16bd53
2 changed files with 11 additions and 4 deletions
|
|
@ -150,7 +150,6 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
|||
|
||||
if params.forumPeerId == nil {
|
||||
self.navigationPresentation = .modal
|
||||
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Cancel, style: .plain, target: self, action: #selector(self.cancelPressed))
|
||||
}
|
||||
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Back, style: .plain, target: nil, action: nil)
|
||||
|
||||
|
|
@ -257,6 +256,8 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
|||
}
|
||||
|
||||
override public func loadDisplayNode() {
|
||||
self.navigationBar?.secondaryContentHeight = 44.0 + 10.0
|
||||
|
||||
self.displayNode = PeerSelectionControllerNode(context: self.context, controller: self, presentationData: self.presentationData, filter: self.filter, forumPeerId: self.forumPeerId, hasFilters: self.hasFilters, hasChatListSelector: self.hasChatListSelector, hasContactSelector: self.hasContactSelector, hasGlobalSearch: self.hasGlobalSearch, forwardedMessageIds: self.forwardedMessageIds, hasTypeHeaders: self.hasTypeHeaders, requestPeerType: self.requestPeerType, hasCreation: self.hasCreation, createNewGroup: self.createNewGroup, present: { [weak self] c, a in
|
||||
self?.present(c, in: .window(.root), with: a)
|
||||
}, presentInGlobalOverlay: { [weak self] c, a in
|
||||
|
|
@ -463,6 +464,8 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
|||
}
|
||||
|
||||
private var initializedFilters = false
|
||||
private(set) var chatListFiltersNonEmpty: Bool = false
|
||||
|
||||
private func reloadFilters(firstUpdate: (() -> Void)? = nil) {
|
||||
let filterItems = chatListFilterItems(context: self.context)
|
||||
var notifiedFirstUpdate = false
|
||||
|
|
@ -566,8 +569,8 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
|||
|
||||
let isEmpty = resolvedItems.count <= 1
|
||||
|
||||
strongSelf.chatListFiltersNonEmpty = !isEmpty
|
||||
if wasEmpty != isEmpty, strongSelf.displayNavigationBar {
|
||||
strongSelf.navigationBar?.secondaryContentHeight = isEmpty ? 0.0 : (44.0 + 10.0)
|
||||
strongSelf.navigationBar?.setSecondaryContentNode(isEmpty ? nil : strongSelf.tabContainerNode, animated: false)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1459,7 +1459,9 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
|||
self.chatListNode?.accessibilityElementsHidden = false
|
||||
self.mainContainerNode?.accessibilityElementsHidden = false
|
||||
|
||||
self.navigationBar?.setSecondaryContentNode(self.controller?.tabContainerNode, animated: true)
|
||||
if let controller = self.controller, controller.chatListFiltersNonEmpty {
|
||||
self.navigationBar?.setSecondaryContentNode(self.controller?.tabContainerNode, animated: true)
|
||||
}
|
||||
self.controller?.setDisplayNavigationBar(true, transition: .animated(duration: 0.5, curve: .spring))
|
||||
|
||||
searchDisplayController.deactivate(placeholder: placeholderNode)
|
||||
|
|
@ -1587,7 +1589,9 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
|||
}
|
||||
}
|
||||
} else if let contactListNode = self.contactListNode {
|
||||
self.navigationBar?.setSecondaryContentNode(self.controller?.tabContainerNode, animated: false)
|
||||
if let controller = self.controller, controller.chatListFiltersNonEmpty {
|
||||
self.navigationBar?.setSecondaryContentNode(self.controller?.tabContainerNode, animated: false)
|
||||
}
|
||||
contactListNode.enableUpdates = false
|
||||
|
||||
if let mainContainerNode = self.mainContainerNode {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue