Swiftgram/TelegramUI/ChatInterfaceTitlePanelNodes.swift
2016-11-22 21:31:10 +03:00

37 lines
1.7 KiB
Swift

import Foundation
import TelegramCore
func titlePanelForChatPresentationIntefaceState(_ chatPresentationInterfaceState: ChatPresentationInterfaceState, account: Account, currentPanel: ChatTitleAccessoryPanelNode?, interfaceInteraction: ChatPanelInterfaceInteraction?) -> ChatTitleAccessoryPanelNode? {
if !chatPresentationInterfaceState.titlePanelContexts.isEmpty {
switch chatPresentationInterfaceState.titlePanelContexts[chatPresentationInterfaceState.titlePanelContexts.count - 1] {
case .chatInfo:
if let currentPanel = currentPanel as? ChatInfoTitlePanelNode {
return currentPanel
} else {
let panel = ChatInfoTitlePanelNode()
panel.interfaceInteraction = interfaceInteraction
return panel
}
case .requestInProgress:
if let currentPanel = currentPanel as? ChatRequestInProgressTitlePanelNode {
return currentPanel
} else {
let panel = ChatRequestInProgressTitlePanelNode()
panel.interfaceInteraction = interfaceInteraction
return panel
}
case let .toastAlert(text):
if let currentPanel = currentPanel as? ChatToastAlertPanelNode {
currentPanel.text = text
return currentPanel
} else {
let panel = ChatToastAlertPanelNode()
panel.text = text
panel.interfaceInteraction = interfaceInteraction
return panel
}
}
}
return nil
}