Messaging · Stickers and GIFs: a sticker picker and a GIF picker

StickerPicker shows stickers a pack at a time, chosen above with a
segmented control; a search spans every pack and keeps the stickers
whose names hold it. Arrows move, Enter or a press picks. It reuses the
glyph grid, now forms::picks, which takes its columns and cell size and
titles from the host, so emoji, icons and stickers share one searchable
grid; forms::glyphs keeps the emoji and icon pickers.

GifPicker packs host GIFs in two columns, each moving, under a search
it owns; the host hears the trimmed words only when they change, and
categories fill the search while it is empty. Waiting, it shows tiles
in GIF shapes; finding nothing, it says so. Each GIF is a Tab stop that
a press, Enter or Space picks.

The share toggle now shows its state, as the microphone and camera do.
The gallery ships line-drawn stickers and small GIFs made from its own
pictures.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 23:00:15 -04:00
1 parent dd465fedb7
commit 1700a72753
27 files changed
+1212 -288

No files matched your search

+2 -1
View File
@@ -101,7 +101,7 @@ Per-component lines live in `tasks/`. Tags there:
- [x] T28a Messaging · Channels
- [x] T28b Messaging · Messages
- [x] T28c Messaging · People
- [ ] T28d Messaging · Calls
- [x] T28d Messaging · Calls
- [ ] T28e Messaging · Stickers and GIFs
- [ ] T29 Mail
- [ ] T30 Calendar
@@ -336,3 +336,4 @@ Per-component lines live in `tasks/`. Tags there:
| T28a | 1 | PASS | |
| T28b | 1 | PASS | |
| T28c | 1 | PASS | |
| T28d | 1 | PASS | |