Various Fixes

This commit is contained in:
Ilya Laktyushin 2021-09-14 11:31:49 +03:00
parent 0c3c3cbbd6
commit d022ad7d91
3 changed files with 16 additions and 17 deletions

View File

@ -893,12 +893,4 @@ public class ChatMessageItemView: ListViewItemNode {
}
}
}
override public var preferredAnimationCurve: (CGFloat) -> CGFloat {
if false, let item = self.item, let subject = item.associatedData.subject, case .forwardedMessages = subject {
return listViewAnimationCurveEaseInOut
} else {
return listViewAnimationCurveSystem
}
}
}

View File

@ -172,7 +172,7 @@ public final class ChatMessageTransitionNode: ASDisplayNode {
case videoMessage(VideoMessage)
case mediaInput(MediaInput)
}
final class DecorationItemNode: ASDisplayNode {
let itemNode: ChatMessageItemView
private let contentNode: ASDisplayNode
@ -640,13 +640,15 @@ public final class ChatMessageTransitionNode: ASDisplayNode {
func add(decorationNode: ASDisplayNode, itemNode: ChatMessageItemView) -> DecorationItemNode {
let decorationItemNode = DecorationItemNode(itemNode: itemNode, contentNode: decorationNode, getContentAreaInScreenSpace: self.getContentAreaInScreenSpace)
decorationItemNode.updateLayout(size: self.bounds.size)
self.decorationItemNodes.append(decorationItemNode)
self.addSubnode(decorationItemNode)
let overlayController = OverlayTransitionContainerController()
overlayController.displayNode.isUserInteractionEnabled = false
overlayController.displayNode.addSubnode(decorationItemNode)
decorationItemNode.overlayController = overlayController
itemNode.item?.context.sharedContext.mainWindow?.presentInGlobalOverlay(overlayController)
// let overlayController = OverlayTransitionContainerController()
// overlayController.displayNode.isUserInteractionEnabled = false
// overlayController.displayNode.addSubnode(decorationItemNode)
// decorationItemNode.overlayController = overlayController
// itemNode.item?.context.sharedContext.mainWindow?.presentInGlobalOverlay(overlayController)
return decorationItemNode
}

View File

@ -156,7 +156,7 @@ final class ForwardAccessoryPanelNode: AccessoryPanelNode {
var text = ""
var sourcePeer: (Bool, String)?
for message in messages {
if let author = message.effectiveAuthor, !uniquePeerIds.contains(author.id) {
if let author = message.forwardInfo?.author ?? message.effectiveAuthor, !uniquePeerIds.contains(author.id) {
uniquePeerIds.insert(author.id)
if !authors.isEmpty {
authors.append(", ")
@ -269,15 +269,20 @@ final class ForwardAccessoryPanelNode: AccessoryPanelNode {
let filteredMessages = self.messages
var authors = self.authors ?? ""
if forwardOptionsState?.hideNames == true {
authors = self.strings.DialogList_You
}
var title = ""
var text = ""
if filteredMessages.count == 1, let message = filteredMessages.first {
title = self.strings.Conversation_ForwardOptions_ForwardTitleSingle
let (string, _) = textStringForForwardedMessage(message, strings: strings)
text = "\(self.authors ?? ""): \(string)"
text = "\(authors): \(string)"
} else {
title = self.strings.Conversation_ForwardOptions_ForwardTitle(Int32(filteredMessages.count))
text = self.strings.Conversation_ForwardFrom(self.authors ?? "").string
text = self.strings.Conversation_ForwardFrom(authors).string
}
self.titleNode.attributedText = NSAttributedString(string: title, font: Font.medium(15.0), textColor: self.theme.chat.inputPanel.panelControlAccentColor)