Swiftgram/TelegramUI/ChatInterfaceInputContextPanels.swift
2016-09-10 18:00:50 +03:00

31 lines
1.2 KiB
Swift

import Foundation
import TelegramCore
func inputContextPanelForChatPresentationIntefaceState(_ chatPresentationInterfaceState: ChatPresentationInterfaceState, account: Account, currentPanel: ChatInputContextPanelNode?, interfaceInteraction: ChatPanelInterfaceInteraction?) -> ChatInputContextPanelNode? {
guard let inputContext = chatPresentationInterfaceState.inputContext, let peer = chatPresentationInterfaceState.peer else {
return nil
}
switch inputContext {
case .hashtag:
if let currentPanel = currentPanel as? HashtagChatInputContextPanelNode {
return currentPanel
} else {
let panel = HashtagChatInputContextPanelNode()
panel.interfaceInteraction = interfaceInteraction
return panel
}
case .mention:
if let currentPanel = currentPanel as? MentionChatInputContextPanelNode {
return currentPanel
} else {
let panel = MentionChatInputContextPanelNode()
panel.interfaceInteraction = interfaceInteraction
panel.setup(account: account, peerId: peer.id, query: "")
return panel
}
}
return nil
}