Skip to content

Commit 86956df

Browse files
gnpricechrisbobbe
authored andcommitted
msglist [nfc]: Add showSender flag, always true for now
1 parent fbaa671 commit 86956df

File tree

3 files changed

+30
-17
lines changed

3 files changed

+30
-17
lines changed

lib/model/message_list.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,15 @@ class MessageListRecipientHeaderItem extends MessageListItem {
2929
class MessageListMessageItem extends MessageListItem {
3030
final Message message;
3131
ZulipContent content;
32+
bool showSender;
3233
bool isLastInBlock;
3334

34-
MessageListMessageItem(this.message, this.content, {required this.isLastInBlock});
35+
MessageListMessageItem(
36+
this.message,
37+
this.content, {
38+
required this.showSender,
39+
required this.isLastInBlock,
40+
});
3541
}
3642

3743
/// Indicates the app is loading more messages at the top.
@@ -183,7 +189,7 @@ mixin _MessageSequence {
183189
} else {
184190
items.add(MessageListRecipientHeaderItem(message));
185191
}
186-
items.add(MessageListMessageItem(message, content, isLastInBlock: true));
192+
items.add(MessageListMessageItem(message, content, showSender: true, isLastInBlock: true));
187193
}
188194

189195
/// Update [items] to include markers at start and end as appropriate.

lib/widgets/message_list.dart

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -580,25 +580,30 @@ class MessageWithPossibleSender extends StatelessWidget {
580580
child: Padding(
581581
padding: const EdgeInsets.only(top: 2, bottom: 3, left: 8, right: 8),
582582
child: Row(crossAxisAlignment: CrossAxisAlignment.start, children: [
583-
Padding(
584-
padding: const EdgeInsets.fromLTRB(3, 6, 11, 0),
585-
child: GestureDetector(
586-
onTap: () => Navigator.push(context,
587-
ProfilePage.buildRoute(context: context,
588-
userId: message.senderId)),
589-
child: Avatar(userId: message.senderId, size: 35, borderRadius: 4))),
583+
item.showSender
584+
? Padding(
585+
padding: const EdgeInsets.fromLTRB(3, 6, 11, 0),
586+
child: GestureDetector(
587+
onTap: () => Navigator.push(context,
588+
ProfilePage.buildRoute(context: context,
589+
userId: message.senderId)),
590+
child: Avatar(size: 35, borderRadius: 4,
591+
userId: message.senderId)))
592+
: const SizedBox(width: 3 + 35 + 11),
590593
Expanded(
591594
child: Column(
592595
crossAxisAlignment: CrossAxisAlignment.stretch,
593596
children: [
594-
const SizedBox(height: 3),
595-
GestureDetector(
596-
onTap: () => Navigator.push(context,
597-
ProfilePage.buildRoute(context: context,
598-
userId: message.senderId)),
599-
child: Text(message.senderFullName, // TODO get from user data
600-
style: const TextStyle(fontWeight: FontWeight.bold))),
601-
const SizedBox(height: 4),
597+
if (item.showSender) ...[
598+
const SizedBox(height: 3),
599+
GestureDetector(
600+
onTap: () => Navigator.push(context,
601+
ProfilePage.buildRoute(context: context,
602+
userId: message.senderId)),
603+
child: Text(message.senderFullName, // TODO get from user data
604+
style: const TextStyle(fontWeight: FontWeight.bold))),
605+
const SizedBox(height: 4),
606+
],
602607
MessageContent(message: message, content: item.content),
603608
])),
604609
Container(

test/model/message_list_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,7 @@ void checkInvariants(MessageListView model) {
677677
check(model.items[i++]).isA<MessageListMessageItem>()
678678
..message.identicalTo(model.messages[j])
679679
..content.identicalTo(model.contents[j])
680+
..showSender.isTrue()
680681
..isLastInBlock.equals(
681682
i == model.items.length || model.items[i] is! MessageListMessageItem);
682683
}
@@ -690,6 +691,7 @@ extension MessageListRecipientHeaderItemChecks on Subject<MessageListRecipientHe
690691
extension MessageListMessageItemChecks on Subject<MessageListMessageItem> {
691692
Subject<Message> get message => has((x) => x.message, 'message');
692693
Subject<ZulipContent> get content => has((x) => x.content, 'content');
694+
Subject<bool> get showSender => has((x) => x.showSender, 'showSender');
693695
Subject<bool> get isLastInBlock => has((x) => x.isLastInBlock, 'isLastInBlock');
694696
}
695697

0 commit comments

Comments
 (0)