@@ -398,12 +398,11 @@ Future<void> doAddOrRemoveReaction({
398
398
}
399
399
400
400
/// Opens a browsable and searchable emoji picker bottom sheet.
401
- void showEmojiPickerSheet ({
401
+ Future < EmojiCandidate ?> showEmojiPickerSheet ({
402
402
required BuildContext pageContext,
403
- required Message message,
404
- }) {
403
+ }) async {
405
404
final store = PerAccountStoreWidget .of (pageContext);
406
- showModalBottomSheet <void >(
405
+ return showModalBottomSheet <EmojiCandidate >(
407
406
context: pageContext,
408
407
// Clip.hardEdge looks bad; Clip.antiAliasWithSaveLayer looks pixel-perfect
409
408
// on my iPhone 13 Pro but is marked as "much slower":
@@ -423,20 +422,15 @@ void showEmojiPickerSheet({
423
422
// For _EmojiPickerItem, and RealmContentNetworkImage used in ImageEmojiWidget.
424
423
child: PerAccountStoreWidget (
425
424
accountId: store.accountId,
426
- child: EmojiPicker (pageContext: pageContext, message : message )));
425
+ child: EmojiPicker (pageContext: pageContext)));
427
426
});
428
427
}
429
428
430
429
@visibleForTesting
431
430
class EmojiPicker extends StatefulWidget {
432
- const EmojiPicker ({
433
- super .key,
434
- required this .pageContext,
435
- required this .message,
436
- });
431
+ const EmojiPicker ({super .key, required this .pageContext});
437
432
438
433
final BuildContext pageContext;
439
- final Message message;
440
434
441
435
@override
442
436
State <EmojiPicker > createState () => _EmojiPickerState ();
@@ -534,8 +528,7 @@ class _EmojiPickerState extends State<EmojiPicker> with PerAccountStoreAwareStat
534
528
itemCount: _resultsToDisplay.length,
535
529
itemBuilder: (context, i) => EmojiPickerListEntry (
536
530
pageContext: widget.pageContext,
537
- emoji: _resultsToDisplay[i].candidate,
538
- message: widget.message)))),
531
+ emoji: _resultsToDisplay[i].candidate)))),
539
532
]))),
540
533
]);
541
534
}
@@ -547,27 +540,15 @@ class EmojiPickerListEntry extends StatelessWidget {
547
540
super .key,
548
541
required this .pageContext,
549
542
required this .emoji,
550
- required this .message,
551
543
});
552
544
553
545
final BuildContext pageContext;
554
546
final EmojiCandidate emoji;
555
- final Message message;
556
547
557
548
static const _emojiSize = 24.0 ;
558
549
559
550
void _onPressed () {
560
- // Dismiss the enclosing action sheet immediately,
561
- // for swift UI feedback that the user's selection was received.
562
- Navigator .pop (pageContext);
563
-
564
- doAddOrRemoveReaction (
565
- context: pageContext,
566
- doRemoveReaction: false ,
567
- messageId: message.id,
568
- emoji: emoji,
569
- errorDialogTitle:
570
- ZulipLocalizations .of (pageContext).errorReactionAddingFailedTitle);
551
+ Navigator .pop (pageContext, emoji);
571
552
}
572
553
573
554
@override
0 commit comments