Skip to content

Commit e45d78a

Browse files
chrisbobbegnprice
authored andcommitted
inbox [nfc]: Turn some color getters into functions that take context
We'll want to get these colors from theme data, soon, for zulip#95 (supporting dark theme).
1 parent a9cd5ba commit e45d78a

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

lib/widgets/inbox.dart

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -226,10 +226,10 @@ abstract class _HeaderItem extends StatelessWidget {
226226

227227
String get title;
228228
IconData get icon;
229-
Color get collapsedIconColor;
230-
Color get uncollapsedIconColor;
231-
Color get uncollapsedBackgroundColor;
232-
Color? get unreadCountBadgeBackgroundColor;
229+
Color collapsedIconColor(BuildContext context);
230+
Color uncollapsedIconColor(BuildContext context);
231+
Color uncollapsedBackgroundColor(BuildContext context);
232+
Color? unreadCountBadgeBackgroundColor(BuildContext context);
233233

234234
Future<void> onCollapseButtonTap() async {
235235
if (!collapsed) {
@@ -246,7 +246,7 @@ abstract class _HeaderItem extends StatelessWidget {
246246
Widget build(BuildContext context) {
247247
return Material(
248248
// TODO(#95) need dark-theme color
249-
color: collapsed ? Colors.white : uncollapsedBackgroundColor,
249+
color: collapsed ? Colors.white : uncollapsedBackgroundColor(context),
250250
child: InkWell(
251251
// TODO use onRowTap to handle taps that are not on the collapse button.
252252
// Probably we should give the collapse button a 44px or 48px square
@@ -260,7 +260,10 @@ abstract class _HeaderItem extends StatelessWidget {
260260
// TODO(#95) need dark-theme color
261261
child: Icon(size: 20, color: const Color(0x7F1D2E48),
262262
collapsed ? ZulipIcons.arrow_right : ZulipIcons.arrow_down)),
263-
Icon(size: 18, color: collapsed ? collapsedIconColor : uncollapsedIconColor,
263+
Icon(size: 18,
264+
color: collapsed
265+
? collapsedIconColor(context)
266+
: uncollapsedIconColor(context),
264267
icon),
265268
const SizedBox(width: 5),
266269
Expanded(child: Padding(
@@ -278,7 +281,9 @@ abstract class _HeaderItem extends StatelessWidget {
278281
const SizedBox(width: 12),
279282
if (hasMention) const _AtMentionMarker(),
280283
Padding(padding: const EdgeInsetsDirectional.only(end: 16),
281-
child: UnreadCountBadge(backgroundColor: unreadCountBadgeBackgroundColor, bold: true,
284+
child: UnreadCountBadge(
285+
backgroundColor: unreadCountBadgeBackgroundColor(context),
286+
bold: true,
282287
count: count)),
283288
])));
284289
}
@@ -297,11 +302,11 @@ class _AllDmsHeaderItem extends _HeaderItem {
297302
@override IconData get icon => ZulipIcons.user;
298303

299304
// TODO(#95) need dark-theme colors
300-
@override Color get collapsedIconColor => const Color(0xFF222222);
301-
@override Color get uncollapsedIconColor => const Color(0xFF222222);
305+
@override Color collapsedIconColor(context) => const Color(0xFF222222);
306+
@override Color uncollapsedIconColor(context) => const Color(0xFF222222);
302307

303-
@override Color get uncollapsedBackgroundColor => const HSLColor.fromAHSL(1, 46, 0.35, 0.93).toColor();
304-
@override Color? get unreadCountBadgeBackgroundColor => null;
308+
@override Color uncollapsedBackgroundColor(context) => const HSLColor.fromAHSL(1, 46, 0.35, 0.93).toColor();
309+
@override Color? unreadCountBadgeBackgroundColor(context) => null;
305310

306311
@override Future<void> onCollapseButtonTap() async {
307312
await super.onCollapseButtonTap();
@@ -418,11 +423,11 @@ class _StreamHeaderItem extends _HeaderItem {
418423

419424
@override String get title => subscription.name;
420425
@override IconData get icon => iconDataForStream(subscription);
421-
@override Color get collapsedIconColor => subscription.colorSwatch().iconOnPlainBackground;
422-
@override Color get uncollapsedIconColor => subscription.colorSwatch().iconOnBarBackground;
423-
@override Color get uncollapsedBackgroundColor =>
426+
@override Color collapsedIconColor(context) => subscription.colorSwatch().iconOnPlainBackground;
427+
@override Color uncollapsedIconColor(context) => subscription.colorSwatch().iconOnBarBackground;
428+
@override Color uncollapsedBackgroundColor(context) =>
424429
subscription.colorSwatch().barBackground;
425-
@override Color? get unreadCountBadgeBackgroundColor =>
430+
@override Color? unreadCountBadgeBackgroundColor(context) =>
426431
subscription.colorSwatch().unreadCountBadgeBackground;
427432

428433
@override Future<void> onCollapseButtonTap() async {

0 commit comments

Comments
 (0)