feat(ui): polish message rows, reactions, and the composer (LC-374) #384
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc-374-message-composer-polish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes LC-374. Final issue of the LC-364 redesign epic.
What
Brings the message surface and composer up to the redesigned chrome. Files:
room/message.html,partials/reaction_bar.html,room/composer.html.focus-withinas well as row hover, so the actions are reachable without a mouse. The timestamp adopts thelc-captionscale.rounded-full) with a real hover (sunken to elevated); the reacted state reads with an accent border + medium weight.title=is migrated to the LC-370 styled tooltip (opening upward, since the composer sits at the screen bottom), keeping itsaria-label.Preserved
All
hx-*wiring and the id-keyed#reactions-{id}OOB target; the textarea, send-button state machine, length counter, optimistic echo, mention/slash/emoji/channel autocomplete popovers, and the upload/voice flows with all their JS - untouched.Testing
./dev/cargo check -p lets-chat-server- clean.just build-css- clean.just testandjust test-saas- both green.🤖 Generated with Claude Code
Bring the message surface and composer up to the redesigned chrome. Message rows: the hover action cluster becomes an elevated, bordered chip (surface-elevated + border + shadow) and is now revealed on keyboard focus-within as well as row hover, so the actions are reachable without a mouse; the timestamp adopts the lc-caption scale. Reactions: existing reaction counts and the add-reaction button render as consistent bordered pills (rounded-full) with a real hover (sunken to elevated), and the reacted state reads with an accent border + medium weight. All hx-* wiring and the id-keyed #reactions-{id} OOB target are unchanged. Composer: the attach / voice / poll / schedule buttons gain the same rounded sunken-hover treatment as the markdown format toolbar so the whole control strip reads as one toolbar, and every toolbar button's native title= is migrated to the LC-370 styled tooltip (opening upward, since the composer sits at the screen bottom) while keeping its aria-label. The textarea, send-button state machine, length counter, optimistic echo, autocomplete popovers, upload/voice flows, and all their JS wiring are untouched. The four LC-77 golden render fixtures are regenerated for the message-row markup change (timestamp class, action-chip container, add-reaction button). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>