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