|
@@ -274,7 +274,7 @@ class ChatViewController: MessagesViewController {
|
|
|
let layout = messagesCollectionView.collectionViewLayout as? MessagesCollectionViewFlowLayout
|
|
|
messagesCollectionView.messagesLayoutDelegate = self
|
|
|
messagesCollectionView.messagesDisplayDelegate = self
|
|
|
-
|
|
|
+
|
|
|
|
|
|
/*
|
|
|
let layout = messagesCollectionView.collectionViewLayout as? MessagesCollectionViewFlowLayout
|
|
@@ -742,59 +742,7 @@ extension ChatViewController: MessagesDisplayDelegate {
|
|
|
return isFromCurrentSender(message: message) ? DCColors.messagePrimaryColor : DCColors.messageSecondaryColor
|
|
|
}
|
|
|
|
|
|
- func messageStyle(for message: MessageType, at indexPath: IndexPath, in _: MessagesCollectionView) -> MessageStyle {
|
|
|
- if isInfoMessage(at: indexPath) {
|
|
|
- return .custom { view in
|
|
|
- view.style = .none
|
|
|
- view.backgroundColor = UIColor(alpha: 10, red: 0, green: 0, blue: 0)
|
|
|
- let radius: CGFloat = 16
|
|
|
- let path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: UIRectCorner.allCorners, cornerRadii: CGSize(width: radius, height: radius))
|
|
|
- let mask = CAShapeLayer()
|
|
|
- mask.path = path.cgPath
|
|
|
- view.layer.mask = mask
|
|
|
- view.center.x = self.view.center.x
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- var corners: UIRectCorner = []
|
|
|
-
|
|
|
- if isFromCurrentSender(message: message) {
|
|
|
- corners.formUnion(.topLeft)
|
|
|
- corners.formUnion(.bottomLeft)
|
|
|
- if !isPreviousMessageSameSender(at: indexPath) {
|
|
|
- corners.formUnion(.topRight)
|
|
|
- }
|
|
|
- if !isNextMessageSameSender(at: indexPath) {
|
|
|
- corners.formUnion(.bottomRight)
|
|
|
- }
|
|
|
- } else {
|
|
|
- corners.formUnion(.topRight)
|
|
|
- corners.formUnion(.bottomRight)
|
|
|
- if !isPreviousMessageSameSender(at: indexPath) {
|
|
|
- corners.formUnion(.topLeft)
|
|
|
- }
|
|
|
- if !isNextMessageSameSender(at: indexPath) {
|
|
|
- corners.formUnion(.bottomLeft)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return .custom { view in
|
|
|
- let radius: CGFloat = 16
|
|
|
- let path = UIBezierPath(roundedRect: view.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
|
|
|
- let mask = CAShapeLayer()
|
|
|
- mask.path = path.cgPath
|
|
|
- view.layer.mask = mask
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- func configureAvatarView(_ avatarView: AvatarView, for message: MessageType, at indexPath: IndexPath, in _: MessagesCollectionView) {
|
|
|
- let message = messageList[indexPath.section]
|
|
|
- let contact = message.fromContact
|
|
|
- let avatar = Avatar(image: contact.profileImage, initials: Utils.getInitials(inputName: contact.name))
|
|
|
- avatarView.set(avatar: avatar)
|
|
|
- avatarView.isHidden = isNextMessageSameSender(at: indexPath) || message.isInfo
|
|
|
- avatarView.backgroundColor = contact.color
|
|
|
- }
|
|
|
|
|
|
func enabledDetectors(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> [DetectorType] {
|
|
|
return [.url, .date, .phoneNumber, .address]
|
|
@@ -805,7 +753,15 @@ extension ChatViewController: MessagesDisplayDelegate {
|
|
|
// MARK: - MessagesLayoutDelegate
|
|
|
|
|
|
extension ChatViewController: MessagesLayoutDelegate {
|
|
|
-
|
|
|
+ func cellTopLabelHeight(for _: MessageType, at indexPath: IndexPath, in _: MessagesCollectionView) -> CGFloat {
|
|
|
+ if isTimeLabelVisible(at: indexPath) {
|
|
|
+ return 18
|
|
|
+ }
|
|
|
+ if !isPreviousMessageSameSender(at: indexPath) {
|
|
|
+ return 18
|
|
|
+ }
|
|
|
+ return 0
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|