Skip to content

Commit 50fb66d

Browse files
committed
emoji: Distinguish muted users in reactions
1 parent 01cb640 commit 50fb66d

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

lib/widgets/emoji_reaction.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ class ReactionChip extends StatelessWidget {
162162
? userIds.map((id) {
163163
return id == store.selfUserId
164164
? zulipLocalizations.reactedEmojiSelfUser
165-
: store.userDisplayName(id);
165+
: store.isUserMuted(id)
166+
? zulipLocalizations.mutedUser
167+
: store.userDisplayName(id);
166168
}).join(', ')
167169
: userIds.length.toString();
168170

test/widgets/emoji_reaction_test.dart

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import '../stdlib_checks.dart';
3131
import '../test_images.dart';
3232
import 'content_test.dart';
3333
import 'dialog_checks.dart';
34+
import 'message_list_test.dart';
3435
import 'test_app.dart';
3536
import 'text_test.dart';
3637

@@ -227,6 +228,27 @@ void main() {
227228
}
228229
}
229230
}
231+
232+
testWidgets('show "Muted user" label for muted reactors', (tester) async {
233+
final user1 = eg.user(userId: 1, fullName: 'User 1');
234+
final user2 = eg.user(userId: 2, fullName: 'User 2');
235+
236+
await prepare();
237+
await store.addUsers([user1, user2]);
238+
await store.muteUsers([user1.userId]);
239+
await setupChipsInBox(tester,
240+
reactions: [
241+
Reaction.fromJson({'emoji_name': '+1', 'emoji_code': '1f44d', 'reaction_type': 'unicode_emoji', 'user_id': user1.userId}),
242+
Reaction.fromJson({'emoji_name': '+1', 'emoji_code': '1f44d', 'reaction_type': 'unicode_emoji', 'user_id': user2.userId}),
243+
]);
244+
245+
final reactionChipFinder = find.byType(ReactionChip);
246+
check(reactionChipFinder.evaluate().singleOrNull).isNotNull();
247+
check(find.descendant(
248+
of: reactionChipFinder,
249+
matching: find.text('${localizations.mutedUser}, ${store.userDisplayName(user2.userId)}')
250+
).evaluate().singleOrNull).isNotNull();
251+
});
230252
});
231253

232254
testWidgets('Smoke test for light/dark/lerped', (tester) async {

0 commit comments

Comments
 (0)