mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Comment improvements
This commit is contained in:
@@ -114,44 +114,43 @@ func chatHistoryEntriesForView(location: ChatLocation, view: MessageHistoryView,
|
||||
}
|
||||
|
||||
var addedThreadHead = false
|
||||
if case let .replyThread(messageId, isChannelPost, _) = location, view.earlierId == nil, !view.isLoading {
|
||||
if case let .replyThread(messageId, isChannelPost, _, _) = location, view.earlierId == nil, !view.isLoading {
|
||||
loop: for entry in view.additionalData {
|
||||
switch entry {
|
||||
case let .message(id, message) where id == messageId:
|
||||
if let message = message {
|
||||
let selection: ChatHistoryMessageSelection
|
||||
if let selectedMessages = selectedMessages {
|
||||
selection = .selectable(selected: selectedMessages.contains(message.id))
|
||||
} else {
|
||||
selection = .none
|
||||
}
|
||||
case let .message(id, messages) where id == messageId:
|
||||
if !messages.isEmpty {
|
||||
let selection: ChatHistoryMessageSelection = .none
|
||||
|
||||
let topMessage = messages[0]
|
||||
|
||||
var adminRank: CachedChannelAdminRank?
|
||||
if let author = message.author {
|
||||
if let author = topMessage.author {
|
||||
adminRank = adminRanks[author.id]
|
||||
}
|
||||
|
||||
var contentTypeHint: ChatMessageEntryContentType = .generic
|
||||
if presentationData.largeEmoji, message.media.isEmpty {
|
||||
if stickersEnabled && message.text.count == 1, let _ = associatedData.animatedEmojiStickers[message.text.basicEmoji.0] {
|
||||
if presentationData.largeEmoji, topMessage.media.isEmpty {
|
||||
if stickersEnabled && topMessage.text.count == 1, let _ = associatedData.animatedEmojiStickers[topMessage.text.basicEmoji.0] {
|
||||
contentTypeHint = .animatedEmoji
|
||||
} else if message.text.count < 10 && messageIsElligibleForLargeEmoji(message) {
|
||||
} else if topMessage.text.count < 10 && messageIsElligibleForLargeEmoji(topMessage) {
|
||||
contentTypeHint = .largeEmoji
|
||||
}
|
||||
}
|
||||
|
||||
var replyCount = 0
|
||||
for attribute in message.attributes {
|
||||
if let attribute = attribute as? ReplyThreadMessageAttribute {
|
||||
replyCount = Int(attribute.count)
|
||||
addedThreadHead = true
|
||||
if messages.count > 1, let groupInfo = messages[0].groupInfo {
|
||||
var groupMessages: [(Message, Bool, ChatHistoryMessageSelection, ChatMessageEntryAttributes)] = []
|
||||
for message in messages {
|
||||
groupMessages.append((message, false, .none, ChatMessageEntryAttributes(rank: adminRank, isContact: false, contentTypeHint: contentTypeHint, updatingMedia: updatingMedia[message.id])))
|
||||
}
|
||||
entries.insert(.MessageGroupEntry(groupInfo, groupMessages, presentationData), at: 0)
|
||||
} else {
|
||||
entries.insert(.MessageEntry(messages[0], presentationData, false, nil, selection, ChatMessageEntryAttributes(rank: adminRank, isContact: false, contentTypeHint: contentTypeHint, updatingMedia: updatingMedia[messages[0].id])), at: 0)
|
||||
}
|
||||
|
||||
addedThreadHead = true
|
||||
entries.insert(.MessageEntry(message, presentationData, false, nil, selection, ChatMessageEntryAttributes(rank: adminRank, isContact: false, contentTypeHint: contentTypeHint, updatingMedia: updatingMedia[message.id])), at: 0)
|
||||
if view.entries.count > 0 {
|
||||
entries.insert(.ReplyCountEntry(message.index, isChannelPost, replyCount, presentationData), at: 1)
|
||||
}
|
||||
let replyCount = view.entries.isEmpty ? 0 : 1
|
||||
|
||||
entries.insert(.ReplyCountEntry(messages[0].index, isChannelPost, replyCount, presentationData), at: 1)
|
||||
}
|
||||
break loop
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user