Add message reaction/read date

This commit is contained in:
Ali
2023-02-24 22:43:57 +04:00
parent 4adb4fa5be
commit fb025d5b14
3 changed files with 12 additions and 12 deletions

View File

@@ -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

View File

@@ -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)
})
}

View File

@@ -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> {