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
ce5053c6ff
commit
4b1f86bfdb
@ -928,7 +928,6 @@ public final class ChatListFilterTabContainerNode: ASDisplayNode {
|
||||
let lineFrame = CGRect(origin: CGPoint(x: selectedFrame.minX, y: size.height - 3.0), size: CGSize(width: selectedFrame.width, height: 3.0))
|
||||
if wasAdded {
|
||||
self.selectedLineNode.frame = lineFrame
|
||||
self.selectedLineNode.alpha = 0.0
|
||||
} else {
|
||||
transition.updateFrame(node: self.selectedLineNode, frame: lineFrame)
|
||||
}
|
||||
|
@ -961,7 +961,7 @@ public final class ContactListNode: ASDisplayNode {
|
||||
self?.suppressPermissionWarning?()
|
||||
}, openPeer: { [weak self] peer, action in
|
||||
if let strongSelf = self {
|
||||
if multipleSelection {
|
||||
if strongSelf.multipleSelection {
|
||||
var updated = false
|
||||
strongSelf.updateSelectionState({ state in
|
||||
if let state = state {
|
||||
|
@ -6739,7 +6739,17 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
let isTopReplyThreadMessageShown: Signal<Bool, NoError> = self.chatDisplayNode.historyNode.isTopReplyThreadMessageShown.get()
|
||||
|> distinctUntilChanged
|
||||
|
||||
let topPinnedMessage: Signal<ChatPinnedMessage?, NoError> = self.topPinnedMessageSignal(latest: false)
|
||||
let topPinnedMessage: Signal<ChatPinnedMessage?, NoError>
|
||||
if let subject = self.subject {
|
||||
switch subject {
|
||||
case .forwardedMessages, .pinnedMessages, .scheduledMessages:
|
||||
topPinnedMessage = .single(nil)
|
||||
default:
|
||||
topPinnedMessage = self.topPinnedMessageSignal(latest: false)
|
||||
}
|
||||
} else {
|
||||
topPinnedMessage = self.topPinnedMessageSignal(latest: false)
|
||||
}
|
||||
|
||||
if let peerId = self.chatLocation.peerId {
|
||||
self.themeEmoticonPromise.set(self.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.ThemeEmoticon(id: peerId)))
|
||||
|
@ -172,6 +172,8 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
||||
}
|
||||
|
||||
if params.hasFilters {
|
||||
self._ready.set(.never())
|
||||
|
||||
self.tabContainerNode = ChatListFilterTabContainerNode()
|
||||
self.navigationBar?.setSecondaryContentNode(self.tabContainerNode, animated: false)
|
||||
self.reloadFilters()
|
||||
@ -339,7 +341,9 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
||||
|
||||
self.displayNodeDidLoad()
|
||||
|
||||
self._ready.set(self.peerSelectionNode.ready)
|
||||
if !self.hasFilters {
|
||||
self._ready.set(self.peerSelectionNode.ready)
|
||||
}
|
||||
}
|
||||
|
||||
public override func viewDidAppear(_ animated: Bool) {
|
||||
@ -490,21 +494,22 @@ public final class PeerSelectionControllerImpl: ViewController, PeerSelectionCon
|
||||
}
|
||||
strongSelf.peerSelectionNode.mainContainerNode?.updateAvailableFilters(availableFilters, limit: filtersLimit)
|
||||
|
||||
// if isPremium == nil && items.isEmpty {
|
||||
// strongSelf.ready.set(strongSelf.chatListDisplayNode.mainContainerNode.currentItemNode.ready)
|
||||
// } else if !strongSelf.initializedFilters {
|
||||
// if selectedEntryId != strongSelf.chatListDisplayNode.mainContainerNode.currentItemFilter {
|
||||
// strongSelf.chatListDisplayNode.mainContainerNode.switchToFilter(id: selectedEntryId, animated: false, completion: { [weak self] in
|
||||
// if let strongSelf = self {
|
||||
// strongSelf.ready.set(strongSelf.chatListDisplayNode.mainContainerNode.currentItemNode.ready)
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// strongSelf.ready.set(strongSelf.chatListDisplayNode.mainContainerNode.currentItemNode.ready)
|
||||
// }
|
||||
// strongSelf.initializedFilters = true
|
||||
// }
|
||||
strongSelf.initializedFilters = true
|
||||
if let mainContainerNode = strongSelf.peerSelectionNode.mainContainerNode {
|
||||
if isPremium == nil && items.isEmpty {
|
||||
strongSelf.ready.set(mainContainerNode.currentItemNode.ready)
|
||||
} else if !strongSelf.initializedFilters {
|
||||
if selectedEntryId != mainContainerNode.currentItemFilter {
|
||||
mainContainerNode.switchToFilter(id: selectedEntryId, animated: false, completion: { [weak self] in
|
||||
if let strongSelf = self {
|
||||
strongSelf.ready.set(mainContainerNode.currentItemNode.ready)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
strongSelf.ready.set(mainContainerNode.currentItemNode.ready)
|
||||
}
|
||||
strongSelf.initializedFilters = true
|
||||
}
|
||||
}
|
||||
|
||||
let isEmpty = resolvedItems.count <= 1
|
||||
|
||||
|
@ -203,11 +203,8 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
||||
|
||||
if hasFilters {
|
||||
self.mainContainerNode = ChatListContainerNode(context: context, location: chatListLocation, chatListMode: chatListMode, previewing: false, controlsHistoryPreload: false, isInlineMode: false, presentationData: presentationData, animationCache: self.animationCache, animationRenderer: self.animationRenderer, filterBecameEmpty: { _ in
|
||||
//filterBecameEmpty?(filter)
|
||||
}, filterEmptyAction: { _ in
|
||||
//filterEmptyAction?(filter)
|
||||
}, secondaryEmptyAction: {
|
||||
|
||||
})
|
||||
self.chatListNode = nil
|
||||
} else {
|
||||
@ -498,9 +495,6 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
||||
return nil
|
||||
}, statuses: nil)
|
||||
|
||||
if let mainContainerNode = self.mainContainerNode {
|
||||
self.readyValue.set(mainContainerNode.ready)
|
||||
}
|
||||
if let chatListNode = self.chatListNode {
|
||||
self.readyValue.set(chatListNode.ready)
|
||||
}
|
||||
@ -603,6 +597,7 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
||||
}
|
||||
|
||||
if self.contactListActive {
|
||||
self.contactListNode?.multipleSelection = true
|
||||
self.contactListNode?.updateSelectionState({ _ in
|
||||
return ContactListNodeGroupSelectionState()
|
||||
})
|
||||
@ -893,7 +888,15 @@ final class PeerSelectionControllerNode: ASDisplayNode {
|
||||
}
|
||||
var updated = false
|
||||
var count = 0
|
||||
strongSelf.chatListNode?.updateState { state in
|
||||
|
||||
let chatListNode: ChatListNode?
|
||||
if let mainContainerNode = strongSelf.mainContainerNode {
|
||||
chatListNode = mainContainerNode.currentItemNode
|
||||
} else {
|
||||
chatListNode = strongSelf.chatListNode
|
||||
}
|
||||
|
||||
chatListNode?.updateState { state in
|
||||
if state.editing {
|
||||
updated = true
|
||||
var state = state
|
||||
|
Loading…
x
Reference in New Issue
Block a user