From 80bc5b694717c3ee99c9b64ffdce4d98f641659b Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Thu, 25 Nov 2021 16:14:16 +0400 Subject: [PATCH] Various Fixes --- .../Sources/PeerInfo/PeerInfoHeaderNode.swift | 10 ++++++---- .../Sources/PeerSelectionTextInputPanelNode.swift | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoHeaderNode.swift b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoHeaderNode.swift index db6d762086..a605988bc3 100644 --- a/submodules/TelegramUI/Sources/PeerInfo/PeerInfoHeaderNode.swift +++ b/submodules/TelegramUI/Sources/PeerInfo/PeerInfoHeaderNode.swift @@ -1312,7 +1312,7 @@ final class PeerInfoHeaderSingleLineTextFieldNode: ASDisplayNode, PeerInfoHeader } self.backgroundNode.frame = CGRect(origin: CGPoint(x: safeInset, y: 0.0), size: CGSize(width: max(1.0, width - safeInset * 2.0), height: height)) - self.textNode.frame = CGRect(origin: CGPoint(x: safeInset + 16.0, y: floor((height - 40.0) / 2.0)), size: CGSize(width: max(1.0, width - 16.0 * 2.0 - 32.0), height: 40.0)) + self.textNode.frame = CGRect(origin: CGPoint(x: safeInset + 16.0, y: floor((height - 40.0) / 2.0)), size: CGSize(width: max(1.0, width - safeInset * 2.0 - 16.0 * 2.0 - 38.0), height: 40.0)) let hasCorners = safeInset > 0.0 && (!hasPrevious || !hasNext) let hasTopCorners = hasCorners && !hasPrevious @@ -2105,14 +2105,16 @@ final class PeerInfoHeaderNode: ASDisplayNode { let buttonKeys: [PeerInfoHeaderButtonKey] = self.isSettings ? [] : peerInfoHeaderButtons(peer: peer, cachedData: cachedData, isOpenedFromChat: self.isOpenedFromChat, isExpanded: false, videoCallsEnabled: self.videoCallsEnabled, isSecretChat: isSecretChat, isContact: isContact) var isVerified = false + var isFake = false let smallTitleString: NSAttributedString let titleString: NSAttributedString let smallSubtitleString: NSAttributedString let subtitleString: NSAttributedString var panelSubtitleString: NSAttributedString? let usernameString: NSAttributedString - if let peer = peer, peer.isVerified { - isVerified = true + if let peer = peer { + isVerified = peer.isVerified + isFake = peer.isFake || peer.isScam } if let peer = peer { @@ -2186,7 +2188,7 @@ final class PeerInfoHeaderNode: ASDisplayNode { let textSideInset: CGFloat = 36.0 let expandedAvatarHeight: CGFloat = expandedAvatarListSize.height - let titleConstrainedSize = CGSize(width: width - textSideInset * 2.0 - (isVerified ? 16.0 : 0.0), height: .greatestFiniteMagnitude) + let titleConstrainedSize = CGSize(width: width - textSideInset * 2.0 - (isVerified || isFake ? 20.0 : 0.0), height: .greatestFiniteMagnitude) let titleNodeLayout = self.titleNode.updateLayout(states: [ TitleNodeStateRegular: MultiScaleTextState(attributedText: titleString, constrainedSize: titleConstrainedSize), diff --git a/submodules/TelegramUI/Sources/PeerSelectionTextInputPanelNode.swift b/submodules/TelegramUI/Sources/PeerSelectionTextInputPanelNode.swift index caecfde991..8552a32d3d 100644 --- a/submodules/TelegramUI/Sources/PeerSelectionTextInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/PeerSelectionTextInputPanelNode.swift @@ -755,7 +755,20 @@ class PeerSelectionTextInputPanelNode: ChatInputPanelNode, TGCaptionPanelView, A self.textPlaceholderNode.isHidden = inputHasText } - self.oneLineNode.attributedText = self.textInputNode?.attributedText + if let attributedText = self.textInputNode?.attributedText, let presentationInterfaceState = self.presentationInterfaceState { + let range = (attributedText.string as NSString).range(of: "\n") + if range.location != NSNotFound { + let textColor = presentationInterfaceState.theme.chat.inputPanel.inputTextColor + let textFont = Font.regular(max(minInputFontSize, presentationInterfaceState.fontSize.baseDisplaySize)) + let trimmedText = NSMutableAttributedString(attributedString: attributedText.attributedSubstring(from: NSMakeRange(0, range.location))) + trimmedText.append(NSAttributedString(string: "\u{2026}", font: textFont, textColor: textColor)) + self.oneLineNode.attributedText = trimmedText + } else { + self.oneLineNode.attributedText = attributedText + } + } else { + self.oneLineNode.attributedText = nil + } self.updateTextHeight(animated: animated) }