feat(chat): emoji picker as an in-pane overlay with keyword search

Reworked the emoji picker from a floating popup (which overlapped the message
area) into an overlay that takes over the conversation-list pane while open:
a Cancel button + a keyword search box at the top, then a responsive grid below
that wraps to the pane width.

Each emoji now carries search keywords (grin/heart/fire/…) so the search box
filters the ~150-emoji set. The 🙂 composer button toggles the overlay;
selecting an emoji appends it to the composer (byte-cap respected) and the
overlay stays open for multiple picks.

+1 CJK glyph (絵) for the ja "Search emoji" string.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-17 08:06:37 -05:00
parent 03fe6e077c
commit 64b27db2ff
11 changed files with 82 additions and 33 deletions

View File

@@ -255,6 +255,7 @@ void I18n::loadBuiltinEnglish()
strings_["chat_hide"] = "Hide";
strings_["chat_unhide"] = "Unhide";
strings_["chat_show_hidden"] = "Show hidden";
strings_["chat_emoji_search"] = "Search emoji";
strings_["chat_hide_hidden"] = "Hide hidden";
strings_["chat_hidden_toast"] = "Conversation hidden — a new message brings it back";
strings_["chat_pick_contact"] = "Choose from contacts\xE2\x80\xA6";