import UIKit
import CometChatUIKit
class AIAssistantChatViewController: UIViewController {
var user: User?
var group: Group?
var parentMessage: BaseMessage?
var isHistory: Bool = false
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
func setupUI() {
let messageHeader = CometChatMessageHeader()
messageHeader.user = user
messageHeader.group = group
messageHeader.onBack = { [weak self] in
self?.navigationController?.popViewController(animated: true)
}
messageHeader.chatHistoryButtonClick = { [weak self] in
self?.openChatHistory()
}
view.addSubview(messageHeader)
let messageList = CometChatMessageList()
messageList.user = user
messageList.group = group
messageList.hideThreadView = true
view.addSubview(messageList)
let composer = CometChatMessageComposer()
composer.user = user
composer.group = group
view.addSubview(composer)
}
func openChatHistory() {
let chatHistoryVC = CometChatAIAssistantChatHistory()
chatHistoryVC.user = user
chatHistoryVC.group = group
chatHistoryVC.onNewChatButtonClicked = {
self.startNewChat()
}
chatHistoryVC.onMessageClicked = { [weak self] message in
guard let self = self else { return }
self.parentMessage = message
self.isHistory = true
self.navigationController?.pushViewController(
AIAssistantChatViewController(),
animated: true
)
}
chatHistoryVC.onClose = {
self.navigationController?.popViewController(animated: true)
}
navigationController?.pushViewController(chatHistoryVC, animated: true)
}
func startNewChat() {
navigationController?.pushViewController(
AIAssistantChatViewController(),
animated: true
)
}
}