Skip to content

Commit 47ae5e3

Browse files
committed
1 parent 5539e14 commit 47ae5e3

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

lib/widgets/message_list.dart

Lines changed: 12 additions & 6 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,12 +1195,14 @@ class _MessageListState extends State<MessageList> with PerAccountStoreAwareStat
11951195
key: ValueKey(data.message.id),
11961196
narrow: widget.narrow,
11971197
header: header,
1198+
isLastInFeed: isLastInFeed,
11981199
item: data);
11991200
case MessageListOutboxMessageItem():
12001201
final header = RecipientHeader(message: data.message, narrow: widget.narrow);
12011202
return MessageItem(
12021203
narrow: widget.narrow,
12031204
header: header,
1205+
isLastInFeed: isLastInFeed,
12041206
item: data);
12051207
}
12061208
}
@@ -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,11 @@ 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+
// TODO write tests for this padding logic
1555+
if (isLastInFeed)
1556+
const SizedBox(height: 5)
1557+
else if (item.isLastInBlock)
1558+
const SizedBox(height: 11),
15531559
]));
15541560
if (item case MessageListMessageItem(:final message)) {
15551561
child = _UnreadMarker(

0 commit comments

Comments
 (0)