Skip to content

feat(chat): move Send Cash beside the composer's trailing edge - #1702

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/composer-cash-trailing
Oct 7, 2026
Merged

bmc08gt merged 3 commits into
code/cashfrom
feat/composer-cash-trailing

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

The chat composer's round $ button moves from the left of the message field to the right of it. Matches code-payments/code-ios-app#1006.

  • Visibility and animation are unchanged: it shows only when Send Cash is offered for the chat, no message is being edited, and the draft is empty, and it scales and fades as the draft empties and fills.
  • Cancel-edit stays in the leading slot.
  • ChatInput gets a trailingOutside slot beside outside; outsideCollapses is removed because only the trailing control collapses.
  • The attach menu's leading inset is measured from the screen edge, not from the $, so it needed no offset change; only its KDoc mentioned the $ standing there.

The round $ button now sits after the message field instead of before it. It still shows only when Send Cash is offered, no edit is open and the draft is empty, and animates in and out as the draft fills and empties. Cancel-edit keeps the leading slot.

ChatInput gains a trailingOutside slot next to outside; outsideCollapses goes, since only the trailing control collapses.
@bmc08gt bmc08gt self-assigned this Oct 7, 2026
@github-actions github-actions Bot added area: ui Compose UI, theme, components, resources type: feature New functionality labels Oct 7, 2026
The trailing $ now stays put, shrinks and fades while the field, drawn above it, widens across its slot, and plays the same in reverse when the draft empties.
@bmc08gt
bmc08gt merged commit 72291de into code/cash Oct 7, 2026
3 checks passed
bmc08gt added a commit that referenced this pull request Oct 7, 2026
#1702 put the send button inside the field's clip at the field's
current edge, so typing showed it left of the $ and then slid it right
as the field widened. It now appears at the $'s centre and overhangs
the field's edge until the field catches up; the clip takes the
overhang into account. Clearing still lets it ride the field's edge in.

Timing follows code-payments/code-ios-app#1008: the $ shrinks to 0.4
toward the field's trailing edge, waits 0.1s before coming back, and
fades on its own 0.12s ease-in and 0.1s ease-out. The send button
waits 0.16s for the $ to merge, except while editing.

The field spring keeps iOS's damping ratio (0.88) but uses stiffness
520 instead of 224. On iOS the glass merge makes the edge read as
settled by about 200ms; Android has no glass merge, so at 224 the
field visibly took the full ~300ms.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ui Compose UI, theme, components, resources type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant