mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Add message reaction/read date
This commit is contained in:
@@ -610,10 +610,10 @@ public final class ReactionListContextMenuContent: ContextControllerItemsContent
|
||||
},
|
||||
yesterdayFormatString: { value in
|
||||
//TODO:localize
|
||||
return PresentationStrings.FormattedString(string: "yesterday", ranges: [])
|
||||
return PresentationStrings.FormattedString(string: "yesterday at \(value)", ranges: [])
|
||||
}
|
||||
)).string
|
||||
text = "read \(dateText)"
|
||||
text = dateText
|
||||
}
|
||||
self.textLabelNode.attributedText = NSAttributedString(string: text, font: Font.regular(15.0), textColor: presentationData.theme.contextMenu.secondaryColor)
|
||||
let textSize = self.textLabelNode.updateLayout(CGSize(width: maxTextWidth - 18.0, height: 100.0))
|
||||
@@ -765,8 +765,8 @@ public final class ReactionListContextMenuContent: ContextControllerItemsContent
|
||||
self.requestUpdateApparentHeight = requestUpdateApparentHeight
|
||||
self.openPeer = openPeer
|
||||
|
||||
self.listContext = context.engine.messages.messageReactionList(message: message, reaction: reaction)
|
||||
self.state = ItemsState(listState: EngineMessageReactionListContext.State(message: message, reaction: reaction), readStats: readStats)
|
||||
self.listContext = context.engine.messages.messageReactionList(message: message, readStats: readStats, reaction: reaction)
|
||||
self.state = ItemsState(listState: EngineMessageReactionListContext.State(message: message, readStats: readStats, reaction: reaction), readStats: readStats)
|
||||
|
||||
self.scrollNode = ASScrollNode()
|
||||
self.scrollNode.canCancelAllTouchesInViews = true
|
||||
|
||||
@@ -322,7 +322,7 @@ private func synchronizeMessageReactions(transaction: Transaction, postbox: Post
|
||||
}
|
||||
|
||||
public extension EngineMessageReactionListContext.State {
|
||||
init(message: EngineMessage, reaction: MessageReaction.Reaction?) {
|
||||
init(message: EngineMessage, readStats: MessageReadStats?, reaction: MessageReaction.Reaction?) {
|
||||
var totalCount = 0
|
||||
var hasOutgoingReaction = false
|
||||
var items: [EngineMessageReactionListContext.Item] = []
|
||||
@@ -338,7 +338,7 @@ public extension EngineMessageReactionListContext.State {
|
||||
for recentPeer in reactionsAttribute.recentPeers {
|
||||
if let peer = message.peers[recentPeer.peerId] {
|
||||
if reaction == nil || recentPeer.value == reaction {
|
||||
items.append(EngineMessageReactionListContext.Item(peer: EnginePeer(peer), reaction: recentPeer.value, timestamp: nil))
|
||||
items.append(EngineMessageReactionListContext.Item(peer: EnginePeer(peer), reaction: recentPeer.value, timestamp: readStats?.readTimestamps[peer.id]))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -426,13 +426,13 @@ public final class EngineMessageReactionListContext {
|
||||
|
||||
var isLoadingMore: Bool = false
|
||||
|
||||
init(queue: Queue, account: Account, message: EngineMessage, reaction: MessageReaction.Reaction?) {
|
||||
init(queue: Queue, account: Account, message: EngineMessage, readStats: MessageReadStats?, reaction: MessageReaction.Reaction?) {
|
||||
self.queue = queue
|
||||
self.account = account
|
||||
self.message = message
|
||||
self.reaction = reaction
|
||||
|
||||
let initialState = EngineMessageReactionListContext.State(message: message, reaction: reaction)
|
||||
let initialState = EngineMessageReactionListContext.State(message: message, readStats: readStats, reaction: reaction)
|
||||
self.state = InternalState(hasOutgoingReaction: initialState.hasOutgoingReaction, totalCount: initialState.totalCount, items: initialState.items, canLoadMore: true, nextOffset: nil)
|
||||
|
||||
if initialState.canLoadMore {
|
||||
@@ -579,11 +579,11 @@ public final class EngineMessageReactionListContext {
|
||||
}
|
||||
}
|
||||
|
||||
init(account: Account, message: EngineMessage, reaction: MessageReaction.Reaction?) {
|
||||
init(account: Account, message: EngineMessage, readStats: MessageReadStats?, reaction: MessageReaction.Reaction?) {
|
||||
let queue = Queue()
|
||||
self.queue = queue
|
||||
self.impl = QueueLocalObject(queue: queue, generate: {
|
||||
return Impl(queue: queue, account: account, message: message, reaction: reaction)
|
||||
return Impl(queue: queue, account: account, message: message, readStats: readStats, reaction: reaction)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -352,8 +352,8 @@ public extension TelegramEngine {
|
||||
}
|
||||
}
|
||||
|
||||
public func messageReactionList(message: EngineMessage, reaction: MessageReaction.Reaction?) -> EngineMessageReactionListContext {
|
||||
return EngineMessageReactionListContext(account: self.account, message: message, reaction: reaction)
|
||||
public func messageReactionList(message: EngineMessage, readStats: MessageReadStats?, reaction: MessageReaction.Reaction?) -> EngineMessageReactionListContext {
|
||||
return EngineMessageReactionListContext(account: self.account, message: message, readStats: readStats, reaction: reaction)
|
||||
}
|
||||
|
||||
public func translate(text: String, toLang: String) -> Signal<String?, TranslationError> {
|
||||
|
||||
Reference in New Issue
Block a user