LC-559: lift the composer onto an elevated card (redesign P2) #529
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/LC-559-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?
What
Promote the message composer from a flush top-border strip on the base surface to an elevated, lifted card:
rounded-xl, a full border, a faintshadow-sm, and a small gap off the timeline (mx-2 mb-2).surface-elevatedsits one step lighter than the timeline in all four themes, so the composer now reads as a distinct input zone instead of blending into the message list. This lands the last open piece of the LC-UI-06 composer polish (elevated surface); the quiet muted formatting toolbar and the sole accent-filled Send square already shipped under LC-380.Scope / safety
Pure template class change on the
#composerform container. No id, handler,hx-swap-oobtarget, or markup-structure change, so every composer behavior is untouched: optimistic echo, draft autosave (lc-draft-{room}),lc-command-result,typing, and the @mention /:emoji:/#channelautocompletes. The shared include means both the room and DM composers get the treatment consistently. Built CSS is unchanged (the utilities already ship via.card).Verify
just build-css-> no diff intailwind-built.css(utilities already present).dev/cargo test --test routes_drafts-> 39/39 pass (includes the composer-render testsroom_page_ships_formatting_toolbar,room_page_renders_jump_to_latest_pill_hidden, and the draft round-trip). Askama compiles templates into Rust, so a green build confirms the template parses and renders.Deferred
The mock also collapses the composer's two control rows into one (formatting on the left, emoji / @ / Send on the right) and floats a borderless full-width input on top. That is a markup + layout restructure touching button ordering, not a token/surface change, so it is out of scope for this polish pass and left for a focused follow-up.
🤖 Generated with Claude Code
https://claude.ai/code/session_011jXpZXXwpB36MvTr6JrGXN
Promote the message composer from a flush top-border strip on the base surface to an elevated, rounded, lifted card: rounded-xl, a full border, a faint shadow, and a small gap off the timeline (mx-2 mb-2). Surface-elevated sits one step lighter than the timeline in all four themes, so the composer now reads as a distinct input zone rather than blending into the message list. This matches the redesign mock, whose quiet muted formatting toolbar and sole accent-filled Send square the composer already shipped under LC-380. Pure template class change on the form container: no id, handler, OOB target, or markup-structure change, so every composer behavior (optimistic echo, draft autosave lc-draft-{room}, lc-command-result, typing, the autocompletes) is untouched. Applies to both room and DM composers (shared include). Built CSS unchanged (the utilities already ship via .card). Deferred: the mock also collapses the two control rows into one (formatting left, emoji/@/Send right) and floats a borderless full-width input on top; that is a markup restructure, out of scope for this token/surface polish pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011jXpZXXwpB36MvTr6JrGXN