Ver código fonte

tapping avatar shows contactDetailViewController now

Bastian van de Wetering 6 anos atrás
pai
commit
70e0d43daa

+ 6 - 2
deltachat-ios/Controller/ChatViewController.swift

@@ -851,9 +851,13 @@ extension ChatViewController: MessageCellDelegate {
 		}
 	}
 
-	func didTapAvatar(in _: MessageCollectionViewCell) {
+	func didTapAvatar(in cell: MessageCollectionViewCell) {
 		logger.info("Avatar tapped")
-	}
+		if let indexPath = super.messagesCollectionView.indexPath(for: cell) {
+			let contactId = messageList[indexPath.row].fromContact.id
+			coordinator?.showContactDetail(of: contactId)
+		}
+}
 
 	@objc(didTapCellTopLabelIn:) func didTapCellTopLabel(in _: MessageCollectionViewCell) {
 		logger.info("Top label tapped")

+ 9 - 0
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -349,6 +349,15 @@ class ChatViewCoordinator: Coordinator {
 		chatDetailViewController.coordinator = coordinator
 		navigationController.pushViewController(chatDetailViewController, animated: true)
 	}
+
+	func showContactDetail(of contactId: Int) {
+		let contactDetailController = ContactDetailViewController(contactId: contactId)
+		//let nav = UINavigationController(rootViewController: contactDetailController)
+		let coordinator = ContactDetailCoordinator(navigationController: navigationController)
+		contactDetailController.coordinator = coordinator
+		navigationController.pushViewController(contactDetailController, animated: true)
+		// navigationController.present(nav, animated: true, completion: nil)
+	}
 }
 
 class NewGroupCoordinator: Coordinator {