Skip to content

[web] mobile action sheet: wire reactions-pins emoji recency + full picker route #564

@intendednull

Description

@intendednull

Tracking issue for the reactions-pins.md TODOs in the mobile action sheet at crates/web/src/components/message.rs:1343 and :1406. Spec at docs/specs/2026-04-19-ui-design/reactions-pins.md.

Distinct from #186 (desktop hover-toolbar "more reactions" button). The two sites here are inside the long-press action sheet rendered for touch viewports.

TODO sites

  • crates/web/src/components/message.rs:1343 — quick-emoji row hardcodes REACTION_EMOJI.iter().take(6). Spec wants channel-scoped recency.
  • crates/web/src/components/message.rs:1406 — "add reaction" sheet item on:click is a no-op ev.stop_propagation(). Should route to the full emoji picker.

Scope

  1. Channel-scoped emoji recency list (lives where? — likely ChatMeta or ProfileState; confirm during plan). Replace the REACTION_EMOJI slice in the sheet.
  2. Reuse the emoji picker component from Hover-toolbar "more reactions" button opens full action dropdown instead of emoji picker #186 once it lands. Wire the "add reaction" sheet item to open the picker anchored to / overlaying the sheet (decide UX during plan — replace sheet vs. stack over).
  3. Browser test asserting recency-driven order in the sheet's quick-emoji row + that "add reaction" opens the picker (not the no-op).

Out of scope

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions