MailboxViewController.swift 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import UIKit
  2. class MailboxViewController: ChatViewController {
  3. override init(dcContext: DcContext, chatId: Int) {
  4. super.init(dcContext: dcContext, chatId: chatId)
  5. hidesBottomBarWhenPushed = true
  6. showCustomNavBar = false
  7. }
  8. required init?(coder _: NSCoder) {
  9. fatalError("init(coder:) has not been implemented")
  10. }
  11. override func viewDidLoad() {
  12. super.viewDidLoad()
  13. navigationItem.title = String.localized("menu_deaddrop")
  14. }
  15. override func viewWillAppear(_ animated: Bool) {
  16. super.viewWillAppear(animated)
  17. }
  18. override func didTapMessage(in cell: MessageCollectionViewCell) {
  19. askToChat(cell: cell)
  20. }
  21. override func didTapCellTopLabel(in cell: MessageCollectionViewCell) {
  22. askToChat(cell: cell)
  23. }
  24. override func didTapAvatar(in cell: MessageCollectionViewCell) {
  25. askToChat(cell: cell)
  26. }
  27. override func didTapBackground(in cell: MessageCollectionViewCell) {
  28. askToChat(cell: cell)
  29. }
  30. private func askToChat(cell: MessageCollectionViewCell) {
  31. if let indexPath = messagesCollectionView.indexPath(for: cell) {
  32. let message = messageList[indexPath.section]
  33. let dcContact = message.fromContact
  34. let title = String.localizedStringWithFormat(String.localized("ask_start_chat_with"), dcContact.nameNAddr)
  35. let alert = UIAlertController(title: title, message: nil, preferredStyle: .actionSheet)
  36. alert.addAction(UIAlertAction(title: String.localized("start_chat"), style: .default, handler: { _ in
  37. let chat = message.createChat()
  38. self.coordinator?.showChat(chatId: chat.id)
  39. }))
  40. alert.addAction(UIAlertAction(title: String.localized("menu_block_contact"), style: .destructive, handler: { _ in
  41. dcContact.block()
  42. }))
  43. alert.addAction(UIAlertAction(title: String.localized("cancel"), style: .cancel))
  44. present(alert, animated: true, completion: nil)
  45. }
  46. }
  47. }