@@ -29,11 +29,11 @@ import 'theme.dart';
29
29
/// Message-list styles that differ between light and dark themes.
30
30
class MessageListTheme extends ThemeExtension <MessageListTheme > {
31
31
static final light = MessageListTheme ._(
32
+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 1 ).toColor (),
32
33
dateSeparator: Colors .black,
33
34
dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.35 , 0.93 ).toColor (),
34
35
labelTime: const HSLColor .fromAHSL (0.49 , 0 , 0 , 0 ).toColor (),
35
36
senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.08 , 0.65 ).toColor (),
36
- streamMessageBgDefault: Colors .white,
37
37
streamRecipientHeaderChevronRight: Colors .black.withValues (alpha: 0.3 ),
38
38
39
39
// From the Figma mockup at:
@@ -51,11 +51,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
51
51
);
52
52
53
53
static final dark = MessageListTheme ._(
54
+ bgMessageRegular: const HSLColor .fromAHSL (1 , 0 , 0 , 0.11 ).toColor (),
54
55
dateSeparator: Colors .white,
55
56
dmRecipientHeaderBg: const HSLColor .fromAHSL (1 , 46 , 0.15 , 0.2 ).toColor (),
56
57
labelTime: const HSLColor .fromAHSL (0.5 , 0 , 0 , 1 ).toColor (),
57
58
senderBotIcon: const HSLColor .fromAHSL (1 , 180 , 0.05 , 0.5 ).toColor (),
58
- streamMessageBgDefault: const HSLColor .fromAHSL (1 , 0 , 0 , 0.15 ).toColor (),
59
59
streamRecipientHeaderChevronRight: Colors .white.withValues (alpha: 0.3 ),
60
60
61
61
// 0.75 opacity from here:
@@ -72,11 +72,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
72
72
);
73
73
74
74
MessageListTheme ._({
75
+ required this .bgMessageRegular,
75
76
required this .dateSeparator,
76
77
required this .dmRecipientHeaderBg,
77
78
required this .labelTime,
78
79
required this .senderBotIcon,
79
- required this .streamMessageBgDefault,
80
80
required this .streamRecipientHeaderChevronRight,
81
81
required this .unreadMarker,
82
82
required this .unreadMarkerGap,
@@ -93,34 +93,34 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
93
93
return extension ! ;
94
94
}
95
95
96
+ final Color bgMessageRegular;
96
97
final Color dateSeparator;
97
98
final Color dmRecipientHeaderBg;
98
99
final Color labelTime;
99
100
final Color senderBotIcon;
100
- final Color streamMessageBgDefault;
101
101
final Color streamRecipientHeaderChevronRight;
102
102
final Color unreadMarker;
103
103
final Color unreadMarkerGap;
104
104
final Color unsubscribedStreamRecipientHeaderBg;
105
105
106
106
@override
107
107
MessageListTheme copyWith ({
108
+ Color ? bgMessageRegular,
108
109
Color ? dateSeparator,
109
110
Color ? dmRecipientHeaderBg,
110
111
Color ? labelTime,
111
112
Color ? senderBotIcon,
112
- Color ? streamMessageBgDefault,
113
113
Color ? streamRecipientHeaderChevronRight,
114
114
Color ? unreadMarker,
115
115
Color ? unreadMarkerGap,
116
116
Color ? unsubscribedStreamRecipientHeaderBg,
117
117
}) {
118
118
return MessageListTheme ._(
119
+ bgMessageRegular: bgMessageRegular ?? this .bgMessageRegular,
119
120
dateSeparator: dateSeparator ?? this .dateSeparator,
120
121
dmRecipientHeaderBg: dmRecipientHeaderBg ?? this .dmRecipientHeaderBg,
121
122
labelTime: labelTime ?? this .labelTime,
122
123
senderBotIcon: senderBotIcon ?? this .senderBotIcon,
123
- streamMessageBgDefault: streamMessageBgDefault ?? this .streamMessageBgDefault,
124
124
streamRecipientHeaderChevronRight: streamRecipientHeaderChevronRight ?? this .streamRecipientHeaderChevronRight,
125
125
unreadMarker: unreadMarker ?? this .unreadMarker,
126
126
unreadMarkerGap: unreadMarkerGap ?? this .unreadMarkerGap,
@@ -134,11 +134,11 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
134
134
return this ;
135
135
}
136
136
return MessageListTheme ._(
137
+ bgMessageRegular: Color .lerp (bgMessageRegular, other.bgMessageRegular, t)! ,
137
138
dateSeparator: Color .lerp (dateSeparator, other.dateSeparator, t)! ,
138
139
dmRecipientHeaderBg: Color .lerp (dmRecipientHeaderBg, other.dmRecipientHeaderBg, t)! ,
139
140
labelTime: Color .lerp (labelTime, other.labelTime, t)! ,
140
141
senderBotIcon: Color .lerp (senderBotIcon, other.senderBotIcon, t)! ,
141
- streamMessageBgDefault: Color .lerp (streamMessageBgDefault, other.streamMessageBgDefault, t)! ,
142
142
streamRecipientHeaderChevronRight: Color .lerp (streamRecipientHeaderChevronRight, other.streamRecipientHeaderChevronRight, t)! ,
143
143
unreadMarker: Color .lerp (unreadMarker, other.unreadMarker, t)! ,
144
144
unreadMarkerGap: Color .lerp (unreadMarkerGap, other.unreadMarkerGap, t)! ,
@@ -913,7 +913,7 @@ class DateSeparator extends StatelessWidget {
913
913
final line = BorderSide (width: 0 , color: messageListTheme.dateSeparator);
914
914
915
915
// TODO(#681) use different color for DM messages
916
- return ColoredBox (color: messageListTheme.streamMessageBgDefault ,
916
+ return ColoredBox (color: messageListTheme.bgMessageRegular ,
917
917
child: Padding (
918
918
padding: const EdgeInsets .symmetric (vertical: 8 , horizontal: 2 ),
919
919
child: Row (children: [
@@ -960,7 +960,7 @@ class MessageItem extends StatelessWidget {
960
960
child: _UnreadMarker (
961
961
isRead: message.flags.contains (MessageFlag .read),
962
962
child: ColoredBox (
963
- color: messageListTheme.streamMessageBgDefault ,
963
+ color: messageListTheme.bgMessageRegular ,
964
964
child: Column (children: [
965
965
MessageWithPossibleSender (item: item),
966
966
if (trailingWhitespace != null && item.isLastInBlock) SizedBox (height: trailingWhitespace! ),
0 commit comments