import Foundation import UIKit import Display import AsyncDisplayKit import TelegramPresentationData final class ChatMessageActionSheetController: ViewController { var controllerNode: ChatMessageActionSheetControllerNode { return self.displayNode as! ChatMessageActionSheetControllerNode } private let theme: PresentationTheme private let actions: [ChatMessageContextMenuSheetAction] private let dismissed: () -> Void private weak var associatedController: ViewController? init(theme: PresentationTheme, actions: [ChatMessageContextMenuSheetAction], dismissed: @escaping () -> Void, associatedController: ViewController?) { self.theme = theme self.actions = actions self.dismissed = dismissed self.associatedController = associatedController super.init(navigationBarPresentationData: nil) } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func loadDisplayNode() { self.displayNode = ChatMessageActionSheetControllerNode(theme: self.theme, actions: self.actions, dismissed: self.dismissed, associatedController: self.associatedController) self.displayNodeDidLoad() } override func dismiss(completion: (() -> Void)? = nil) { self.presentingViewController?.dismiss(animated: false, completion: nil) } }