UI improvements

This commit is contained in:
Ali 2023-01-19 18:30:59 +04:00
parent a754bae7d8
commit 8e3cc09e56
6 changed files with 17 additions and 7 deletions

View File

@ -8721,3 +8721,6 @@ Sorry for the inconvenience.";
"AvatarEditor.SetChannelPhoto" = "Set as Group Photo"; "AvatarEditor.SetChannelPhoto" = "Set as Group Photo";
"AvatarEditor.Set" = "Set"; "AvatarEditor.Set" = "Set";
"Premium.Emoji.Description" = "Unlock this emoji and many more by subscribing to Telegram Premium.";
"Premium.Emoji.Proceed" = "Unlock Premium Emoji";

View File

@ -73,7 +73,9 @@ public final class StickerPreviewPeekContent: PeekControllerContent {
public func fullScreenAccessoryNode(blurView: UIVisualEffectView) -> (PeekControllerAccessoryNode & ASDisplayNode)? { public func fullScreenAccessoryNode(blurView: UIVisualEffectView) -> (PeekControllerAccessoryNode & ASDisplayNode)? {
if self.isLocked { if self.isLocked {
return PremiumStickerPackAccessoryNode(theme: self.theme, strings: self.strings, proceed: self.openPremiumIntro) let isEmoji = self.item.file.isCustomEmoji
return PremiumStickerPackAccessoryNode(theme: self.theme, strings: self.strings, isEmoji: isEmoji, proceed: self.openPremiumIntro)
} else { } else {
return nil return nil
} }
@ -266,17 +268,17 @@ final class PremiumStickerPackAccessoryNode: SparseNode, PeekControllerAccessory
let proceedButton: SolidRoundedButtonNode let proceedButton: SolidRoundedButtonNode
let cancelButton: HighlightableButtonNode let cancelButton: HighlightableButtonNode
init(theme: PresentationTheme, strings: PresentationStrings, proceed: @escaping () -> Void) { init(theme: PresentationTheme, strings: PresentationStrings, isEmoji: Bool, proceed: @escaping () -> Void) {
self.proceed = proceed self.proceed = proceed
self.textNode = ImmediateTextNode() self.textNode = ImmediateTextNode()
self.textNode.displaysAsynchronously = false self.textNode.displaysAsynchronously = false
self.textNode.textAlignment = .center self.textNode.textAlignment = .center
self.textNode.maximumNumberOfLines = 0 self.textNode.maximumNumberOfLines = 0
self.textNode.attributedText = NSAttributedString(string: strings.Premium_Stickers_Description, font: Font.regular(17.0), textColor: theme.actionSheet.secondaryTextColor) self.textNode.attributedText = NSAttributedString(string: isEmoji ? strings.Premium_Stickers_Description : strings.Premium_Stickers_Description, font: Font.regular(17.0), textColor: theme.actionSheet.secondaryTextColor)
self.textNode.lineSpacing = 0.1 self.textNode.lineSpacing = 0.1
self.proceedButton = SolidRoundedButtonNode(title: strings.Premium_Stickers_Proceed, theme: SolidRoundedButtonTheme( self.proceedButton = SolidRoundedButtonNode(title: isEmoji ? strings.Premium_Emoji_Proceed: strings.Premium_Stickers_Proceed, theme: SolidRoundedButtonTheme(
backgroundColor: .white, backgroundColor: .white,
backgroundColors: [ backgroundColors: [
UIColor(rgb: 0x0077ff), UIColor(rgb: 0x0077ff),

View File

@ -2217,7 +2217,7 @@ public final class EmojiContentPeekBehaviorImpl: EmojiContentPeekBehavior {
interaction.copyEmoji(file) interaction.copyEmoji(file)
} }
if let _ = strongSelf.chatPeerId, !isLocked { if let _ = strongSelf.chatPeerId {
//TODO:localize //TODO:localize
menuItems.append(.action(ContextMenuActionItem(text: "Send Emoji", icon: { theme in menuItems.append(.action(ContextMenuActionItem(text: "Send Emoji", icon: { theme in
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Download"), color: theme.actionSheet.primaryTextColor) { if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Download"), color: theme.actionSheet.primaryTextColor) {

View File

@ -812,7 +812,8 @@ public final class EmojiStatusSelectionController: ViewController {
cache: animationCache, cache: animationCache,
renderer: animationRenderer, renderer: animationRenderer,
placeholderColor: UIColor(white: 0.0, alpha: 0.0), placeholderColor: UIColor(white: 0.0, alpha: 0.0),
pointSize: CGSize(width: 32.0, height: 32.0) pointSize: CGSize(width: 32.0, height: 32.0),
dynamicColor: self.presentationData.theme.list.itemAccentColor
) )
switch item.tintMode { switch item.tintMode {
case .accent: case .accent:

View File

@ -281,6 +281,7 @@ public final class EmojiSuggestionsComponent: Component {
let itemLayer: InlineStickerItemLayer let itemLayer: InlineStickerItemLayer
if let current = self.visibleLayers[item.fileId] { if let current = self.visibleLayers[item.fileId] {
itemLayer = current itemLayer = current
itemLayer.dynamicColor = component.theme.list.itemPrimaryTextColor
} else { } else {
itemLayer = InlineStickerItemLayer( itemLayer = InlineStickerItemLayer(
context: component.context, context: component.context,
@ -291,7 +292,8 @@ public final class EmojiSuggestionsComponent: Component {
cache: component.animationCache, cache: component.animationCache,
renderer: component.animationRenderer, renderer: component.animationRenderer,
placeholderColor: component.theme.list.mediaPlaceholderColor, placeholderColor: component.theme.list.mediaPlaceholderColor,
pointSize: itemFrame.size pointSize: itemFrame.size,
dynamicColor: component.theme.list.itemPrimaryTextColor
) )
self.visibleLayers[item.fileId] = itemLayer self.visibleLayers[item.fileId] = itemLayer
self.scrollView.layer.addSublayer(itemLayer) self.scrollView.layer.addSublayer(itemLayer)

View File

@ -157,6 +157,8 @@ final class EmojisChatInputPanelItemNode: ListViewItemNode {
emojiView.center = emojiFrame.center emojiView.center = emojiFrame.center
emojiView.bounds = CGRect(origin: CGPoint(), size: emojiFrame.size) emojiView.bounds = CGRect(origin: CGPoint(), size: emojiFrame.size)
} }
emojiView.updateTextColor(item.theme.list.itemPrimaryTextColor)
} else { } else {
strongSelf.symbolNode.isHidden = false strongSelf.symbolNode.isHidden = false