@@ -29,11 +29,11 @@ import 'theme.dart';
2929/// Message-list styles that differ between light and dark themes.
3030class MessageListTheme extends ThemeExtension <MessageListTheme > {
3131 static final light = MessageListTheme ._(
32+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 1 ).toColor (),
3233 dateSeparator: Colors .black,
3334 dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.35 , 0.93 ).toColor (),
3435 labelTime: const HSLColor .fromAHSL (0.49 , 0 , 0 , 0 ).toColor (),
3536 senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.08 , 0.65 ).toColor (),
36- streamMessageBgDefault: Colors .white,
3737 streamRecipientHeaderChevronRight: Colors .black.withValues (alpha: 0.3 ),
3838
3939 // From the Figma mockup at:
@@ -51,11 +51,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
5151 );
5252
5353 static final dark = MessageListTheme ._(
54+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 0.11 ).toColor (),
5455 dateSeparator: Colors .white,
5556 dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.15 , 0.2 ).toColor (),
5657 labelTime: const HSLColor .fromAHSL (0.5 , 0 , 0 , 1 ).toColor (),
5758 senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.05 , 0.5 ).toColor (),
58- streamMessageBgDefault: const HSLColor .fromAHSL (1 , 0 , 0 , 0.15 ).toColor (),
5959 streamRecipientHeaderChevronRight: Colors .white.withValues (alpha: 0.3 ),
6060
6161 // 0.75 opacity from here:
@@ -72,11 +72,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
7272 );
7373
7474 MessageListTheme ._({
75+ required this .bgMessageRegular,
7576 required this .dateSeparator,
7677 required this .dmRecipientHeaderBg,
7778 required this .labelTime,
7879 required this .senderBotIcon,
79- required this .streamMessageBgDefault,
8080 required this .streamRecipientHeaderChevronRight,
8181 required this .unreadMarker,
8282 required this .unreadMarkerGap,
@@ -93,34 +93,34 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
9393 return extension ! ;
9494 }
9595
96+ final Color bgMessageRegular;
9697 final Color dateSeparator;
9798 final Color dmRecipientHeaderBg;
9899 final Color labelTime;
99100 final Color senderBotIcon;
100- final Color streamMessageBgDefault;
101101 final Color streamRecipientHeaderChevronRight;
102102 final Color unreadMarker;
103103 final Color unreadMarkerGap;
104104 final Color unsubscribedStreamRecipientHeaderBg;
105105
106106 @override
107107 MessageListTheme copyWith ({
108+ Color ? bgMessageRegular,
108109 Color ? dateSeparator,
109110 Color ? dmRecipientHeaderBg,
110111 Color ? labelTime,
111112 Color ? senderBotIcon,
112- Color ? streamMessageBgDefault,
113113 Color ? streamRecipientHeaderChevronRight,
114114 Color ? unreadMarker,
115115 Color ? unreadMarkerGap,
116116 Color ? unsubscribedStreamRecipientHeaderBg,
117117 }) {
118118 return MessageListTheme ._(
119+ bgMessageRegular: bgMessageRegular ?? this .bgMessageRegular,
119120 dateSeparator: dateSeparator ?? this .dateSeparator,
120121 dmRecipientHeaderBg: dmRecipientHeaderBg ?? this .dmRecipientHeaderBg,
121122 labelTime: labelTime ?? this .labelTime,
122123 senderBotIcon: senderBotIcon ?? this .senderBotIcon,
123- streamMessageBgDefault: streamMessageBgDefault ?? this .streamMessageBgDefault,
124124 streamRecipientHeaderChevronRight: streamRecipientHeaderChevronRight ?? this .streamRecipientHeaderChevronRight,
125125 unreadMarker: unreadMarker ?? this .unreadMarker,
126126 unreadMarkerGap: unreadMarkerGap ?? this .unreadMarkerGap,
@@ -134,11 +134,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
134134 return this ;
135135 }
136136 return MessageListTheme ._(
137+ bgMessageRegular: Color .lerp (bgMessageRegular, other.bgMessageRegular, t)! ,
137138 dateSeparator: Color .lerp (dateSeparator, other.dateSeparator, t)! ,
138139 dmRecipientHeaderBg: Color .lerp (dmRecipientHeaderBg, other.dmRecipientHeaderBg, t)! ,
139140 labelTime: Color .lerp (labelTime, other.labelTime, t)! ,
140141 senderBotIcon: Color .lerp (senderBotIcon, other.senderBotIcon, t)! ,
141- streamMessageBgDefault: Color .lerp (streamMessageBgDefault, other.streamMessageBgDefault, t)! ,
142142 streamRecipientHeaderChevronRight: Color .lerp (streamRecipientHeaderChevronRight, other.streamRecipientHeaderChevronRight, t)! ,
143143 unreadMarker: Color .lerp (unreadMarker, other.unreadMarker, t)! ,
144144 unreadMarkerGap: Color .lerp (unreadMarkerGap, other.unreadMarkerGap, t)! ,
@@ -913,7 +913,7 @@ class DateSeparator extends StatelessWidget {
913913 final line = BorderSide (width: 0 , color: messageListTheme.dateSeparator);
914914
915915 // TODO(#681) use different color for DM messages
916- return ColoredBox (color: messageListTheme.streamMessageBgDefault ,
916+ return ColoredBox (color: messageListTheme.bgMessageRegular ,
917917 child: Padding (
918918 padding: const EdgeInsets .symmetric (vertical: 8 , horizontal: 2 ),
919919 child: Row (children: [
@@ -960,7 +960,7 @@ class MessageItem extends StatelessWidget {
960960 child: _UnreadMarker (
961961 isRead: message.flags.contains (MessageFlag .read),
962962 child: ColoredBox (
963- color: messageListTheme.streamMessageBgDefault ,
963+ color: messageListTheme.bgMessageRegular ,
964964 child: Column (children: [
965965 MessageWithPossibleSender (item: item),
966966 if (trailingWhitespace != null && item.isLastInBlock) SizedBox (height: trailingWhitespace! ),
0 commit comments