Skip to content

Commit 2faec59

Browse files
committed
Update incoming thread message layout
1 parent 66adfe8 commit 2faec59

File tree

1 file changed

+15
-38
lines changed

1 file changed

+15
-38
lines changed

apple/InlineIOS/Chat/MessageCollectionViewCell.swift

+15-38
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class MessageCollectionViewCell: UICollectionViewCell {
4444

4545
resetCell()
4646

47-
setupOutcomingThreadMessage()
47+
setupIncomingThreadMessage()
4848
setupBaseMessageConstraints()
4949

5050
contentView.transform = CGAffineTransform(scaleX: 1, y: -1)
@@ -88,16 +88,14 @@ extension MessageCollectionViewCell {
8888
newMessageView.translatesAutoresizingMaskIntoConstraints = false
8989
contentView.addSubview(newMessageView)
9090

91-
let topConstraint: NSLayoutConstraint = if isThread, fromOtherSender {
91+
let topConstraint: NSLayoutConstraint = if isThread, fromOtherSender, !outgoing {
9292
newMessageView.topAnchor.constraint(equalTo: nameLabel.bottomAnchor, constant: 2)
9393
} else {
9494
newMessageView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: fromOtherSender ? 12 : 2)
9595
}
9696

97-
let leadingConstraint: NSLayoutConstraint = if isThread {
98-
if outgoing {
99-
newMessageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 32)
100-
} else if fromOtherSender, let avatarView = avatarHostingController?.view {
97+
let leadingConstraint: NSLayoutConstraint = if isThread, !outgoing {
98+
if fromOtherSender, let avatarView = avatarHostingController?.view {
10199
newMessageView.leadingAnchor.constraint(equalTo: avatarView.trailingAnchor, constant: -2)
102100
} else {
103101
newMessageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 32)
@@ -106,12 +104,8 @@ extension MessageCollectionViewCell {
106104
newMessageView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor)
107105
}
108106

109-
let trailingConstraint: NSLayoutConstraint = if isThread {
110-
if outgoing, let avatarView = avatarHostingController?.view {
111-
newMessageView.trailingAnchor.constraint(equalTo: avatarView.leadingAnchor, constant: 2)
112-
} else {
113-
newMessageView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -32)
114-
}
107+
let trailingConstraint: NSLayoutConstraint = if isThread, !outgoing {
108+
newMessageView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -32)
115109
} else {
116110
newMessageView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor)
117111
}
@@ -125,8 +119,8 @@ extension MessageCollectionViewCell {
125119
messageView = newMessageView
126120
}
127121

128-
func setupOutcomingThreadMessage() {
129-
if isThread, fromOtherSender {
122+
func setupIncomingThreadMessage() {
123+
if isThread, fromOtherSender, !outgoing {
130124
contentView.addSubview(nameLabel)
131125

132126
// Add avatar if we have user info
@@ -138,39 +132,22 @@ extension MessageCollectionViewCell {
138132
hostingController.view.translatesAutoresizingMaskIntoConstraints = false
139133
contentView.addSubview(hostingController.view)
140134

141-
var constraints = [
135+
NSLayoutConstraint.activate([
142136
hostingController.view.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 34),
143137
hostingController.view.widthAnchor.constraint(equalToConstant: 32),
144138
hostingController.view.heightAnchor.constraint(equalToConstant: 32),
145-
]
146-
147-
if outgoing {
148-
constraints.append(hostingController.view.trailingAnchor.constraint(
149-
equalTo: contentView.trailingAnchor,
150-
constant: -2
151-
))
152-
} else {
153-
constraints.append(hostingController.view.leadingAnchor.constraint(
139+
hostingController.view.leadingAnchor.constraint(
154140
equalTo: contentView.leadingAnchor,
155141
constant: 2
156-
))
157-
}
158-
159-
NSLayoutConstraint.activate(constraints)
142+
),
143+
])
160144
}
161145

162-
var constraints = [
146+
NSLayoutConstraint.activate([
163147
nameLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 14),
164148
nameLabel.heightAnchor.constraint(equalToConstant: 16),
165-
]
166-
167-
if outgoing {
168-
constraints.append(nameLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -42))
169-
} else {
170-
constraints.append(nameLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 42))
171-
}
172-
173-
NSLayoutConstraint.activate(constraints)
149+
nameLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 42),
150+
])
174151
}
175152
}
176153

0 commit comments

Comments
 (0)