Various improvements

This commit is contained in:
Ali
2023-10-24 01:49:30 +04:00
parent 62b50d9e49
commit 53e1fec16b
4 changed files with 26 additions and 8 deletions

View File

@@ -1510,12 +1510,10 @@ public class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame { if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame {
replyBackgroundNode.frame = replyBackgroundFrame replyBackgroundNode.frame = replyBackgroundFrame
let cornerRadius = replyBackgroundNode.frame.height <= 22.0 ? replyBackgroundNode.frame.height / 2.0 : 8.0 let cornerRadius = 4.0
replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate) replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate)
if let backgroundContent = strongSelf.replyBackgroundContent { if let backgroundContent = strongSelf.replyBackgroundContent {
let cornerRadius = replyBackgroundNode.frame.height <= 22.0 ? replyBackgroundNode.frame.height / 2.0 : 8.0
replyBackgroundNode.isHidden = true replyBackgroundNode.isHidden = true
backgroundContent.cornerRadius = cornerRadius backgroundContent.cornerRadius = cornerRadius
backgroundContent.frame = replyBackgroundNode.frame backgroundContent.frame = replyBackgroundNode.frame

View File

@@ -782,7 +782,7 @@ public class ChatMessageInstantVideoItemNode: ChatMessageItemView, UIGestureReco
if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame { if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame {
replyBackgroundNode.frame = replyBackgroundFrame replyBackgroundNode.frame = replyBackgroundFrame
let cornerRadius = replyBackgroundNode.frame.height <= 22.0 ? replyBackgroundNode.frame.height / 2.0 : 8.0 let cornerRadius = 4.0
replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate) replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate)
} }

View File

@@ -1090,12 +1090,10 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame { if let replyBackgroundNode = strongSelf.replyBackgroundNode, let replyBackgroundFrame {
replyBackgroundNode.frame = replyBackgroundFrame replyBackgroundNode.frame = replyBackgroundFrame
let cornerRadius = replyBackgroundNode.frame.height <= 22.0 ? replyBackgroundNode.frame.height / 2.0 : 8.0 let cornerRadius = 4.0
replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate) replyBackgroundNode.update(size: replyBackgroundNode.bounds.size, cornerRadius: cornerRadius, transition: .immediate)
if let backgroundContent = strongSelf.replyBackgroundContent { if let backgroundContent = strongSelf.replyBackgroundContent {
let cornerRadius = replyBackgroundNode.frame.height <= 22.0 ? replyBackgroundNode.frame.height / 2.0 : 8.0
replyBackgroundNode.isHidden = true replyBackgroundNode.isHidden = true
backgroundContent.cornerRadius = cornerRadius backgroundContent.cornerRadius = cornerRadius
backgroundContent.frame = replyBackgroundNode.frame backgroundContent.frame = replyBackgroundNode.frame

View File

@@ -2016,7 +2016,29 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
}, openMessageContextActions: { message, node, rect, gesture in }, openMessageContextActions: { message, node, rect, gesture in
gesture?.cancel() gesture?.cancel()
}, navigateToMessage: { [weak self] fromId, id, params in }, navigateToMessage: { [weak self] fromId, id, params in
self?.navigateToMessage(from: fromId, to: .id(id, params), forceInCurrentChat: fromId.peerId == id.peerId) guard let self else {
return
}
if params.quote != nil {
if let message = self.chatDisplayNode.historyNode.messageInCurrentHistoryView(fromId), let toPeer = message.peers[id.peerId] {
switch toPeer {
case let channel as TelegramChannel:
if channel.username == nil && channel.usernames.isEmpty {
switch channel.participationStatus {
case .kicked, .left:
self.controllerInteraction?.attemptedNavigationToPrivateQuote(toPeer)
return
case .member:
break
}
}
default:
break
}
}
}
self.navigateToMessage(from: fromId, to: .id(id, params), forceInCurrentChat: fromId.peerId == id.peerId)
}, navigateToMessageStandalone: { [weak self] id in }, navigateToMessageStandalone: { [weak self] id in
self?.navigateToMessage(from: nil, to: .id(id, NavigateToMessageParams(timestamp: nil, quote: nil)), forceInCurrentChat: false) self?.navigateToMessage(from: nil, to: .id(id, NavigateToMessageParams(timestamp: nil, quote: nil)), forceInCurrentChat: false)
}, navigateToThreadMessage: { [weak self] peerId, threadId, messageId in }, navigateToThreadMessage: { [weak self] peerId, threadId, messageId in