Skip to content

Commit b3a52c0

Browse files
committed
theme [nfc]: Move bgMessageRegular to DesignVariables
1 parent 4effb82 commit b3a52c0

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

lib/widgets/content.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import 'poll.dart';
2626
import 'scrolling.dart';
2727
import 'store.dart';
2828
import 'text.dart';
29+
import 'theme.dart';
2930

3031
/// A central place for styles for Zulip content (rendered Zulip Markdown).
3132
///
@@ -988,7 +989,7 @@ class WebsitePreview extends StatelessWidget {
988989
// TODO(#488) use different color for non-message contexts
989990
// TODO(#647) use different color for highlighted messages
990991
// TODO(#681) use different color for DM messages
991-
color: MessageListTheme.of(context).bgMessageRegular,
992+
color: DesignVariables.of(context).bgMessageRegular,
992993
child: ClipRect(
993994
child: ConstrainedBox(
994995
constraints: BoxConstraints(maxHeight: 80),

lib/widgets/message_list.dart

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import 'theme.dart';
2828
/// Message-list styles that differ between light and dark themes.
2929
class MessageListTheme extends ThemeExtension<MessageListTheme> {
3030
static final light = MessageListTheme._(
31-
bgMessageRegular: const HSLColor.fromAHSL(1, 0, 0, 1).toColor(),
3231
dmRecipientHeaderBg: const HSLColor.fromAHSL(1, 46, 0.35, 0.93).toColor(),
3332
labelTime: const HSLColor.fromAHSL(0.49, 0, 0, 0).toColor(),
3433
senderBotIcon: const HSLColor.fromAHSL(1, 180, 0.08, 0.65).toColor(),
@@ -46,7 +45,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
4645
);
4746

4847
static final dark = MessageListTheme._(
49-
bgMessageRegular: const HSLColor.fromAHSL(1, 0, 0, 0.11).toColor(),
5048
dmRecipientHeaderBg: const HSLColor.fromAHSL(1, 46, 0.15, 0.2).toColor(),
5149
labelTime: const HSLColor.fromAHSL(0.5, 0, 0, 1).toColor(),
5250
senderBotIcon: const HSLColor.fromAHSL(1, 180, 0.05, 0.5).toColor(),
@@ -63,7 +61,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
6361
);
6462

6563
MessageListTheme._({
66-
required this.bgMessageRegular,
6764
required this.dmRecipientHeaderBg,
6865
required this.labelTime,
6966
required this.senderBotIcon,
@@ -82,7 +79,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
8279
return extension!;
8380
}
8481

85-
final Color bgMessageRegular;
8682
final Color dmRecipientHeaderBg;
8783
final Color labelTime;
8884
final Color senderBotIcon;
@@ -92,7 +88,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
9288

9389
@override
9490
MessageListTheme copyWith({
95-
Color? bgMessageRegular,
9691
Color? dmRecipientHeaderBg,
9792
Color? labelTime,
9893
Color? senderBotIcon,
@@ -101,7 +96,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
10196
Color? unreadMarkerGap,
10297
}) {
10398
return MessageListTheme._(
104-
bgMessageRegular: bgMessageRegular ?? this.bgMessageRegular,
10599
dmRecipientHeaderBg: dmRecipientHeaderBg ?? this.dmRecipientHeaderBg,
106100
labelTime: labelTime ?? this.labelTime,
107101
senderBotIcon: senderBotIcon ?? this.senderBotIcon,
@@ -117,7 +111,6 @@ class MessageListTheme extends ThemeExtension<MessageListTheme> {
117111
return this;
118112
}
119113
return MessageListTheme._(
120-
bgMessageRegular: Color.lerp(bgMessageRegular, other.bgMessageRegular, t)!,
121114
dmRecipientHeaderBg: Color.lerp(dmRecipientHeaderBg, other.dmRecipientHeaderBg, t)!,
122115
labelTime: Color.lerp(labelTime, other.labelTime, t)!,
123116
senderBotIcon: Color.lerp(senderBotIcon, other.senderBotIcon, t)!,
@@ -981,13 +974,12 @@ class DateSeparator extends StatelessWidget {
981974
// to align with the vertically centered divider lines.
982975
const textBottomPadding = 2.0;
983976

984-
final messageListTheme = MessageListTheme.of(context);
985977
final designVariables = DesignVariables.of(context);
986978

987979
final line = BorderSide(width: 0, color: designVariables.foreground);
988980

989981
// TODO(#681) use different color for DM messages
990-
return ColoredBox(color: messageListTheme.bgMessageRegular,
982+
return ColoredBox(color: designVariables.bgMessageRegular,
991983
child: Padding(
992984
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 2),
993985
child: Row(children: [
@@ -1026,11 +1018,11 @@ class MessageItem extends StatelessWidget {
10261018

10271019
@override
10281020
Widget build(BuildContext context) {
1029-
final messageListTheme = MessageListTheme.of(context);
1021+
final designVariables = DesignVariables.of(context);
10301022

10311023
final item = this.item;
10321024
Widget child = ColoredBox(
1033-
color: messageListTheme.bgMessageRegular,
1025+
color: designVariables.bgMessageRegular,
10341026
child: Column(children: [
10351027
switch (item) {
10361028
MessageListMessageItem() => MessageWithPossibleSender(item: item),

lib/widgets/theme.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
137137
bgCounterUnread: const Color(0xff666699).withValues(alpha: 0.15),
138138
bgMenuButtonActive: Colors.black.withValues(alpha: 0.05),
139139
bgMenuButtonSelected: Colors.white,
140+
bgMessageRegular: const HSLColor.fromAHSL(1, 0, 0, 1).toColor(),
140141
bgTopBar: const Color(0xfff5f5f5),
141142
borderBar: Colors.black.withValues(alpha: 0.2),
142143
borderMenuButtonSelected: Colors.black.withValues(alpha: 0.2),
@@ -197,6 +198,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
197198
bgCounterUnread: const Color(0xff666699).withValues(alpha: 0.37),
198199
bgMenuButtonActive: Colors.black.withValues(alpha: 0.2),
199200
bgMenuButtonSelected: Colors.black.withValues(alpha: 0.25),
201+
bgMessageRegular: const HSLColor.fromAHSL(1, 0, 0, 0.11).toColor(),
200202
bgTopBar: const Color(0xff242424),
201203
borderBar: const Color(0xffffffff).withValues(alpha: 0.1),
202204
borderMenuButtonSelected: Colors.white.withValues(alpha: 0.1),
@@ -265,6 +267,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
265267
required this.bgCounterUnread,
266268
required this.bgMenuButtonActive,
267269
required this.bgMenuButtonSelected,
270+
required this.bgMessageRegular,
268271
required this.bgTopBar,
269272
required this.borderBar,
270273
required this.borderMenuButtonSelected,
@@ -334,6 +337,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
334337
final Color bgCounterUnread;
335338
final Color bgMenuButtonActive;
336339
final Color bgMenuButtonSelected;
340+
final Color bgMessageRegular;
337341
final Color bgTopBar;
338342
final Color borderBar;
339343
final Color borderMenuButtonSelected;
@@ -398,6 +402,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
398402
Color? bgCounterUnread,
399403
Color? bgMenuButtonActive,
400404
Color? bgMenuButtonSelected,
405+
Color? bgMessageRegular,
401406
Color? bgTopBar,
402407
Color? borderBar,
403408
Color? borderMenuButtonSelected,
@@ -457,6 +462,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
457462
bgCounterUnread: bgCounterUnread ?? this.bgCounterUnread,
458463
bgMenuButtonActive: bgMenuButtonActive ?? this.bgMenuButtonActive,
459464
bgMenuButtonSelected: bgMenuButtonSelected ?? this.bgMenuButtonSelected,
465+
bgMessageRegular: bgMessageRegular ?? this.bgMessageRegular,
460466
bgTopBar: bgTopBar ?? this.bgTopBar,
461467
borderBar: borderBar ?? this.borderBar,
462468
borderMenuButtonSelected: borderMenuButtonSelected ?? this.borderMenuButtonSelected,
@@ -523,6 +529,7 @@ class DesignVariables extends ThemeExtension<DesignVariables> {
523529
bgCounterUnread: Color.lerp(bgCounterUnread, other.bgCounterUnread, t)!,
524530
bgMenuButtonActive: Color.lerp(bgMenuButtonActive, other.bgMenuButtonActive, t)!,
525531
bgMenuButtonSelected: Color.lerp(bgMenuButtonSelected, other.bgMenuButtonSelected, t)!,
532+
bgMessageRegular: Color.lerp(bgMessageRegular, other.bgMessageRegular, t)!,
526533
bgTopBar: Color.lerp(bgTopBar, other.bgTopBar, t)!,
527534
borderBar: Color.lerp(borderBar, other.borderBar, t)!,
528535
borderMenuButtonSelected: Color.lerp(borderMenuButtonSelected, other.borderMenuButtonSelected, t)!,

test/widgets/message_list_test.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import 'package:zulip/widgets/message_list.dart';
2727
import 'package:zulip/widgets/page.dart';
2828
import 'package:zulip/widgets/store.dart';
2929
import 'package:zulip/widgets/channel_colors.dart';
30+
import 'package:zulip/widgets/theme.dart';
3031

3132
import '../api/fake_api.dart';
3233
import '../example_data.dart' as eg;
@@ -282,17 +283,17 @@ void main() {
282283
return widget.color;
283284
}
284285

285-
check(backgroundColor()).isSameColorAs(MessageListTheme.light.bgMessageRegular);
286+
check(backgroundColor()).isSameColorAs(DesignVariables.light.bgMessageRegular);
286287

287288
tester.platformDispatcher.platformBrightnessTestValue = Brightness.dark;
288289
await tester.pump();
289290

290291
await tester.pump(kThemeAnimationDuration * 0.4);
291-
final expectedLerped = MessageListTheme.light.lerp(MessageListTheme.dark, 0.4);
292+
final expectedLerped = DesignVariables.light.lerp(DesignVariables.dark, 0.4);
292293
check(backgroundColor()).isSameColorAs(expectedLerped.bgMessageRegular);
293294

294295
await tester.pump(kThemeAnimationDuration * 0.6);
295-
check(backgroundColor()).isSameColorAs(MessageListTheme.dark.bgMessageRegular);
296+
check(backgroundColor()).isSameColorAs(DesignVariables.dark.bgMessageRegular);
296297
});
297298

298299
group('fetch initial batch of messages', () {

0 commit comments

Comments
 (0)