mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Updated folder pinned chats interaction
This commit is contained in:
@@ -30,12 +30,12 @@ struct ChatListNodeViewUpdate {
|
||||
}
|
||||
|
||||
func chatListFilterPredicate(filter: ChatListFilterData) -> ChatListFilterPredicate {
|
||||
var includePeers = Set(filter.includePeers)
|
||||
var includePeers = Set(filter.includePeers.peers)
|
||||
var excludePeers = Set(filter.excludePeers)
|
||||
|
||||
if !filter.pinnedPeers.isEmpty {
|
||||
includePeers.subtract(filter.pinnedPeers)
|
||||
excludePeers.subtract(filter.pinnedPeers)
|
||||
if !filter.includePeers.pinnedPeers.isEmpty {
|
||||
includePeers.subtract(filter.includePeers.pinnedPeers)
|
||||
excludePeers.subtract(filter.includePeers.pinnedPeers)
|
||||
}
|
||||
|
||||
var includeAdditionalPeerGroupIds: [PeerGroupId] = []
|
||||
@@ -47,7 +47,7 @@ func chatListFilterPredicate(filter: ChatListFilterData) -> ChatListFilterPredic
|
||||
if filter.excludeRead {
|
||||
messageTagSummary = ChatListMessageTagSummaryResultCalculation(addCount: ChatListMessageTagSummaryResultComponent(tag: .unseenPersonalMessage, namespace: Namespaces.Message.Cloud), subtractCount: ChatListMessageTagActionsSummaryResultComponent(type: PendingMessageActionType.consumeUnseenPersonalMessage, namespace: Namespaces.Message.Cloud))
|
||||
}
|
||||
return ChatListFilterPredicate(includePeerIds: includePeers, excludePeerIds: excludePeers, pinnedPeerIds: filter.pinnedPeers, messageTagSummary: messageTagSummary, includeAdditionalPeerGroupIds: includeAdditionalPeerGroupIds, include: { peer, isMuted, isUnread, isContact, messageTagSummaryResult in
|
||||
return ChatListFilterPredicate(includePeerIds: includePeers, excludePeerIds: excludePeers, pinnedPeerIds: filter.includePeers.pinnedPeers, messageTagSummary: messageTagSummary, includeAdditionalPeerGroupIds: includeAdditionalPeerGroupIds, include: { peer, isMuted, isUnread, isContact, messageTagSummaryResult in
|
||||
if filter.excludeRead {
|
||||
var effectiveUnread = isUnread
|
||||
if let messageTagSummaryResult = messageTagSummaryResult, messageTagSummaryResult {
|
||||
|
||||
@@ -189,11 +189,10 @@ func preparedChatListNodeViewTransition(from fromView: ChatListNodeView?, to toV
|
||||
}
|
||||
} else if fromView.filteredEntries.isEmpty || fromView.filter != toView.filter {
|
||||
var updateEmpty = true
|
||||
if !fromView.filteredEntries.isEmpty, let fromFilter = fromView.filter, let toFilter = toView.filter, fromFilter.data.pinnedPeers != toFilter.data.pinnedPeers {
|
||||
if !fromView.filteredEntries.isEmpty, let fromFilter = fromView.filter, let toFilter = toView.filter, fromFilter.data.includePeers.pinnedPeers != toFilter.data.includePeers.pinnedPeers {
|
||||
var fromData = fromFilter.data
|
||||
var toData = toFilter.data
|
||||
fromData.pinnedPeers = []
|
||||
toData.pinnedPeers = []
|
||||
let toData = toFilter.data
|
||||
fromData.includePeers = toData.includePeers
|
||||
if fromData == toData {
|
||||
options.insert(.AnimateInsertion)
|
||||
updateEmpty = false
|
||||
|
||||
Reference in New Issue
Block a user