Skip to content

Commit 9ee0db2

Browse files
committed
1 parent 9c17fca commit 9ee0db2

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

lib/widgets/message_list.dart

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,7 +1073,7 @@ class _MessageListState extends State<MessageList> with PerAccountStoreAwareStat
10731073

10741074
final itemIndex = totalItems - 1 - (childIndex + bottomItems);
10751075
final data = model.items[itemIndex];
1076-
final item = _buildItem(data);
1076+
final item = _buildItem(data, isLastInFeed: itemIndex == totalItems - 1);
10771077
return item;
10781078
}));
10791079

@@ -1113,7 +1113,7 @@ class _MessageListState extends State<MessageList> with PerAccountStoreAwareStat
11131113

11141114
final itemIndex = topItems + childIndex;
11151115
final data = model.items[itemIndex];
1116-
return _buildItem(data);
1116+
return _buildItem(data, isLastInFeed: itemIndex == totalItems - 1);
11171117
}));
11181118

11191119
if (!ComposeBox.hasComposeBox(widget.narrow)) {
@@ -1178,7 +1178,7 @@ class _MessageListState extends State<MessageList> with PerAccountStoreAwareStat
11781178
}
11791179
}
11801180

1181-
Widget _buildItem(MessageListItem data) {
1181+
Widget _buildItem(MessageListItem data, {required bool isLastInFeed}) {
11821182
switch (data) {
11831183
case MessageListRecipientHeaderItem():
11841184
final header = RecipientHeader(message: data.message, narrow: widget.narrow);
@@ -1195,13 +1195,15 @@ class _MessageListState extends State<MessageList> with PerAccountStoreAwareStat
11951195
key: ValueKey(data.message.id),
11961196
narrow: widget.narrow,
11971197
header: header,
1198-
item: data);
1198+
item: data,
1199+
isLastInFeed: isLastInFeed);
11991200
case MessageListOutboxMessageItem():
12001201
final header = RecipientHeader(message: data.message, narrow: widget.narrow);
12011202
return MessageItem(
12021203
narrow: widget.narrow,
12031204
header: header,
1204-
item: data);
1205+
item: data,
1206+
isLastInFeed: isLastInFeed);
12051207
}
12061208
}
12071209
}
@@ -1527,11 +1529,13 @@ class MessageItem extends StatelessWidget {
15271529
required this.narrow,
15281530
required this.item,
15291531
required this.header,
1532+
required this.isLastInFeed,
15301533
});
15311534

15321535
final Narrow narrow;
15331536
final MessageListMessageBaseItem item;
15341537
final Widget header;
1538+
final bool isLastInFeed;
15351539

15361540
@override
15371541
Widget build(BuildContext context) {
@@ -1547,9 +1551,10 @@ class MessageItem extends StatelessWidget {
15471551
item: item),
15481552
MessageListOutboxMessageItem() => OutboxMessageWithPossibleSender(item: item),
15491553
},
1550-
// TODO refine this padding; discussion:
1551-
// https://github.com/zulip/zulip-flutter/pull/1453#discussion_r2106526985
1552-
if (item.isLastInBlock) const SizedBox(height: 11),
1554+
if (isLastInFeed)
1555+
const SizedBox(height: 5)
1556+
else if (item.isLastInBlock)
1557+
const SizedBox(height: 11),
15531558
]));
15541559
if (item case MessageListMessageItem(:final message)) {
15551560
child = _UnreadMarker(

0 commit comments

Comments
 (0)