From 15371c699e3864346f88856bcb0e20096641b8d6 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Wed, 16 Sep 2026 12:42:01 -0400 Subject: [PATCH 1/2] clarify todo --- lib/widgets/room_chat.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/widgets/room_chat.dart b/lib/widgets/room_chat.dart index a6d29d3..8db1dcd 100644 --- a/lib/widgets/room_chat.dart +++ b/lib/widgets/room_chat.dart @@ -238,7 +238,7 @@ final class const RoomChat({ icon: Icon(Icons.emoji_emotions), onPressed: () { - // TODO: More adaptive + // TODO: More adaptive, e.g. dialog on desktop Navigator.of(context).pop(); showModalBottomSheet( isScrollControlled: true, From f8d1b78282cb45891269e646c7cab86fb4ab28a2 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Wed, 16 Sep 2026 12:44:24 -0400 Subject: [PATCH 2/2] hook up emoji picker to composer --- lib/widgets/composer/composer.dart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/widgets/composer/composer.dart b/lib/widgets/composer/composer.dart index cfa210e..336b988 100644 --- a/lib/widgets/composer/composer.dart +++ b/lib/widgets/composer/composer.dart @@ -16,6 +16,7 @@ import "package:nexus/models/relation_type.dart"; import "package:nexus/widgets/composer/mention_overlay.dart"; import "package:nexus/widgets/composer/relation_preview.dart"; import "package:nexus/main.dart"; +import "package:nexus/widgets/emoji_picker.dart"; class const Composer( final String roomId, { @@ -119,9 +120,16 @@ class const Composer( ) ? [ IconButton( - onPressed: () { - //TODO onSelection: (_) => node?.requestFocus(), - }, + onPressed: () => showModalBottomSheet( + isScrollControlled: true, + context: context, + builder: (context) => EmojiPicker( + onSelection: (value) { + controller.value.text += value; + node?.requestFocus(); + }, + ), + ), icon: Icon(Icons.emoji_emotions), ), PopupMenuButton(