mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Various improvements
This commit is contained in:
@@ -264,6 +264,7 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
public let attachmentButtonBackground: GlassBackgroundView
|
||||
public let attachmentButtonIcon: GlassBackgroundView.ContentImageView
|
||||
private var commentsButtonIcon: RasterizedCompositionMonochromeLayer?
|
||||
private var commentsButtonCenterIcon: UIImageView?
|
||||
private var commentsButtonContentsLayer: RasterizedCompositionImageLayer?
|
||||
private var commentsButtonDotLayer: RasterizedCompositionImageLayer?
|
||||
private var attachmentButtonUnseenIcon: UIImageView?
|
||||
@@ -393,6 +394,7 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
}
|
||||
|
||||
public var customPlaceholder: String?
|
||||
public var customIsDisabled: Bool = false
|
||||
public var customLeftAction: LeftAction?
|
||||
public var customRightAction: RightAction?
|
||||
public var customSendColor: UIColor?
|
||||
@@ -1495,6 +1497,9 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
}
|
||||
}
|
||||
}
|
||||
if self.customIsDisabled {
|
||||
sendingTextDisabled = true
|
||||
}
|
||||
self.sendingTextDisabled = sendingTextDisabled
|
||||
|
||||
self.textInputNode?.isUserInteractionEnabled = !sendingTextDisabled
|
||||
@@ -1941,7 +1946,6 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
if let customLeftAction = self.customLeftAction {
|
||||
switch customLeftAction {
|
||||
case let .toggleExpanded(_, isExpanded, hasUnseen):
|
||||
let _ = isExpanded
|
||||
let commentsButtonIcon: RasterizedCompositionMonochromeLayer
|
||||
if let current = self.commentsButtonIcon {
|
||||
commentsButtonIcon = current
|
||||
@@ -1951,6 +1955,17 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
self.attachmentButtonBackground.contentView.layer.addSublayer(commentsButtonIcon)
|
||||
}
|
||||
|
||||
let commentsButtonCenterIcon: UIImageView
|
||||
if let current = self.commentsButtonCenterIcon {
|
||||
commentsButtonCenterIcon = current
|
||||
} else {
|
||||
commentsButtonCenterIcon = UIImageView()
|
||||
self.commentsButtonCenterIcon = commentsButtonCenterIcon
|
||||
self.attachmentButtonBackground.contentView.addSubview(commentsButtonCenterIcon)
|
||||
commentsButtonCenterIcon.image = UIImage(bundleImageName: "Chat/Input/Text/CommensCross")?.withRenderingMode(.alwaysTemplate)
|
||||
}
|
||||
commentsButtonCenterIcon.tintColor = interfaceState.theme.chat.inputPanel.panelControlColor
|
||||
|
||||
let commentsButtonContentsLayer: RasterizedCompositionImageLayer
|
||||
if let current = self.commentsButtonContentsLayer {
|
||||
commentsButtonContentsLayer = current
|
||||
@@ -1975,6 +1990,12 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
commentsButtonIcon.position = iconFrame.center
|
||||
commentsButtonIcon.bounds = CGRect(origin: CGPoint(), size: iconFrame.size)
|
||||
|
||||
commentsButtonCenterIcon.center = iconFrame.center
|
||||
if let image = commentsButtonCenterIcon.image {
|
||||
commentsButtonCenterIcon.bounds = image.size.centered(in: iconFrame)
|
||||
}
|
||||
transition.updateTransformRotation(view: commentsButtonCenterIcon, angle: !isExpanded ? (CGFloat.pi * 3.0 / 4.0) : 0.0)
|
||||
|
||||
commentsButtonIcon.contentsLayer.position = CGRect(origin: CGPoint(), size: iconFrame.size).center
|
||||
commentsButtonIcon.contentsLayer.bounds = CGRect(origin: CGPoint(), size: iconFrame.size)
|
||||
|
||||
@@ -2036,6 +2057,13 @@ public class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDeleg
|
||||
attachmentButtonUnseenIcon?.removeFromSuperview()
|
||||
})
|
||||
}
|
||||
if let commentsButtonCenterIcon = self.commentsButtonCenterIcon {
|
||||
self.commentsButtonCenterIcon = nil
|
||||
transition.updateTransformScale(layer: commentsButtonCenterIcon.layer, scale: 0.001)
|
||||
transition.updateAlpha(layer: commentsButtonCenterIcon.layer, alpha: 0.0, completion: { [weak commentsButtonCenterIcon] _ in
|
||||
commentsButtonCenterIcon?.removeFromSuperview()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var textFieldMinHeight: CGFloat = 33.0
|
||||
|
||||
Reference in New Issue
Block a user