@@ -968,25 +968,32 @@ class MessageItem extends StatelessWidget {
968
968
this .trailingWhitespace,
969
969
});
970
970
971
- final MessageListMessageItem item;
971
+ final MessageListMessageBaseItem item;
972
972
final Widget header;
973
973
final double ? trailingWhitespace;
974
974
975
975
@override
976
976
Widget build (BuildContext context) {
977
- final message = item.message;
978
977
final messageListTheme = MessageListTheme .of (context);
978
+
979
+ final item = this .item;
980
+ Widget child = ColoredBox (
981
+ color: messageListTheme.bgMessageRegular,
982
+ child: Column (children: [
983
+ switch (item) {
984
+ MessageListMessageItem () => MessageWithPossibleSender (item: item),
985
+ },
986
+ if (trailingWhitespace != null && item.isLastInBlock) SizedBox (height: trailingWhitespace! ),
987
+ ]));
988
+ if (item case MessageListMessageItem (: final message)) {
989
+ child = _UnreadMarker (
990
+ isRead: message.flags.contains (MessageFlag .read),
991
+ child: child);
992
+ }
979
993
return StickyHeaderItem (
980
994
allowOverflow: ! item.isLastInBlock,
981
995
header: header,
982
- child: _UnreadMarker (
983
- isRead: message.flags.contains (MessageFlag .read),
984
- child: ColoredBox (
985
- color: messageListTheme.bgMessageRegular,
986
- child: Column (children: [
987
- MessageWithPossibleSender (item: item),
988
- if (trailingWhitespace != null && item.isLastInBlock) SizedBox (height: trailingWhitespace! ),
989
- ]))));
996
+ child: child);
990
997
}
991
998
}
992
999
0 commit comments