Hashtag search improvements

This commit is contained in:
Ilya Laktyushin
2024-05-22 14:04:37 +04:00
parent 7c7456de4b
commit 464eb8625f
53 changed files with 2049 additions and 469 deletions

View File

@@ -430,6 +430,7 @@ enum ChatTextInputPanelPasteData {
case video(Data)
case gif(Data)
case sticker(UIImage, Bool)
case animatedSticker(Data)
}
final class ChatTextViewForOverlayContent: UIView, ChatInputPanelViewForOverlayContent {
@@ -1497,6 +1498,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
var displayMediaButton = true
if case let .customChatContents(customChatContents) = interfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
break
case .quickReplyMessageInput:
break
case .businessLinkSetup:
@@ -1863,6 +1866,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
}
if case let .customChatContents(customChatContents) = interfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
placeholder = ""
case let .quickReplyMessageInput(_, shortcutType):
switch shortcutType {
case .generic:
@@ -1895,6 +1900,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
if let interfaceState = self.presentationInterfaceState {
if case let .customChatContents(customChatContents) = interfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
break
case .quickReplyMessageInput:
break
case .businessLinkSetup:
@@ -3673,6 +3680,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
if case let .customChatContents(customChatContents) = presentationInterfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
break
case .quickReplyMessageInput:
break
case .businessLinkSetup:
@@ -3791,6 +3800,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
if let interfaceState = self.presentationInterfaceState {
if case let .customChatContents(customChatContents) = interfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
break
case .quickReplyMessageInput:
break
case .businessLinkSetup:
@@ -3894,6 +3905,8 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
var sendButtonHasApplyIcon = interfaceState.interfaceState.editMessage != nil
if case let .customChatContents(customChatContents) = interfaceState.subject {
switch customChatContents.kind {
case .hashTagSearch:
break
case .quickReplyMessageInput:
break
case .businessLinkSetup:
@@ -4379,6 +4392,9 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate, Ch
} else if let data = pasteboard.data(forPasteboardType: "public.mpeg-4") {
self.paste(.video(data))
return false
} else if let data = pasteboard.data(forPasteboardType: "public.heics") {
self.paste(.animatedSticker(data))
return false
} else {
var isPNG = false
var isMemoji = false