@@ -28,11 +28,11 @@ import 'theme.dart';
2828/// Message-list styles that differ between light and dark themes.
2929class MessageListTheme extends ThemeExtension <MessageListTheme > {
3030 static final light = MessageListTheme ._(
31+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 1 ).toColor (),
3132 dateSeparator: Colors .black,
3233 dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.35 , 0.93 ).toColor (),
3334 labelTime: const HSLColor .fromAHSL (0.49 , 0 , 0 , 0 ).toColor (),
3435 senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.08 , 0.65 ).toColor (),
35- streamMessageBgDefault: Colors .white,
3636 streamRecipientHeaderChevronRight: Colors .black.withValues (alpha: 0.3 ),
3737
3838 // From the Figma mockup at:
@@ -50,11 +50,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
5050 );
5151
5252 static final dark = MessageListTheme ._(
53+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 0.11 ).toColor (),
5354 dateSeparator: Colors .white,
5455 dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.15 , 0.2 ).toColor (),
5556 labelTime: const HSLColor .fromAHSL (0.5 , 0 , 0 , 1 ).toColor (),
5657 senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.05 , 0.5 ).toColor (),
57- streamMessageBgDefault: const HSLColor .fromAHSL (1 , 0 , 0 , 0.15 ).toColor (),
5858 streamRecipientHeaderChevronRight: Colors .white.withValues (alpha: 0.3 ),
5959
6060 // 0.75 opacity from here:
@@ -71,11 +71,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
7171 );
7272
7373 MessageListTheme ._({
74+ required this .bgMessageRegular,
7475 required this .dateSeparator,
7576 required this .dmRecipientHeaderBg,
7677 required this .labelTime,
7778 required this .senderBotIcon,
78- required this .streamMessageBgDefault,
7979 required this .streamRecipientHeaderChevronRight,
8080 required this .unreadMarker,
8181 required this .unreadMarkerGap,
@@ -92,34 +92,34 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
9292 return extension ! ;
9393 }
9494
95+ final Color bgMessageRegular;
9596 final Color dateSeparator;
9697 final Color dmRecipientHeaderBg;
9798 final Color labelTime;
9899 final Color senderBotIcon;
99- final Color streamMessageBgDefault;
100100 final Color streamRecipientHeaderChevronRight;
101101 final Color unreadMarker;
102102 final Color unreadMarkerGap;
103103 final Color unsubscribedStreamRecipientHeaderBg;
104104
105105 @override
106106 MessageListTheme copyWith ({
107+ Color ? bgMessageRegular,
107108 Color ? dateSeparator,
108109 Color ? dmRecipientHeaderBg,
109110 Color ? labelTime,
110111 Color ? senderBotIcon,
111- Color ? streamMessageBgDefault,
112112 Color ? streamRecipientHeaderChevronRight,
113113 Color ? unreadMarker,
114114 Color ? unreadMarkerGap,
115115 Color ? unsubscribedStreamRecipientHeaderBg,
116116 }) {
117117 return MessageListTheme ._(
118+ bgMessageRegular: bgMessageRegular ?? this .bgMessageRegular,
118119 dateSeparator: dateSeparator ?? this .dateSeparator,
119120 dmRecipientHeaderBg: dmRecipientHeaderBg ?? this .dmRecipientHeaderBg,
120121 labelTime: labelTime ?? this .labelTime,
121122 senderBotIcon: senderBotIcon ?? this .senderBotIcon,
122- streamMessageBgDefault: streamMessageBgDefault ?? this .streamMessageBgDefault,
123123 streamRecipientHeaderChevronRight: streamRecipientHeaderChevronRight ?? this .streamRecipientHeaderChevronRight,
124124 unreadMarker: unreadMarker ?? this .unreadMarker,
125125 unreadMarkerGap: unreadMarkerGap ?? this .unreadMarkerGap,
@@ -133,11 +133,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
133133 return this ;
134134 }
135135 return MessageListTheme ._(
136+ bgMessageRegular: Color .lerp (bgMessageRegular, other.bgMessageRegular, t)! ,
136137 dateSeparator: Color .lerp (dateSeparator, other.dateSeparator, t)! ,
137138 dmRecipientHeaderBg: Color .lerp (dmRecipientHeaderBg, other.dmRecipientHeaderBg, t)! ,
138139 labelTime: Color .lerp (labelTime, other.labelTime, t)! ,
139140 senderBotIcon: Color .lerp (senderBotIcon, other.senderBotIcon, t)! ,
140- streamMessageBgDefault: Color .lerp (streamMessageBgDefault, other.streamMessageBgDefault, t)! ,
141141 streamRecipientHeaderChevronRight: Color .lerp (streamRecipientHeaderChevronRight, other.streamRecipientHeaderChevronRight, t)! ,
142142 unreadMarker: Color .lerp (unreadMarker, other.unreadMarker, t)! ,
143143 unreadMarkerGap: Color .lerp (unreadMarkerGap, other.unreadMarkerGap, t)! ,
@@ -903,7 +903,7 @@ class DateSeparator extends StatelessWidget {
903903 final line = BorderSide (width: 0 , color: messageListTheme.dateSeparator);
904904
905905 // TODO(#681) use different color for DM messages
906- return ColoredBox (color: messageListTheme.streamMessageBgDefault ,
906+ return ColoredBox (color: messageListTheme.bgMessageRegular ,
907907 child: Padding (
908908 padding: const EdgeInsets .symmetric (vertical: 8 , horizontal: 2 ),
909909 child: Row (children: [
@@ -950,7 +950,7 @@ class MessageItem extends StatelessWidget {
950950 child: _UnreadMarker (
951951 isRead: message.flags.contains (MessageFlag .read),
952952 child: ColoredBox (
953- color: messageListTheme.streamMessageBgDefault ,
953+ color: messageListTheme.bgMessageRegular ,
954954 child: Column (children: [
955955 MessageWithPossibleSender (item: item),
956956 if (trailingWhitespace != null && item.isLastInBlock) SizedBox (height: trailingWhitespace! ),
0 commit comments