feat(composer): one-row restructure (LC-574) #543
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc574-composer-onerow"
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?
Collapses the composer's two control rows into one, matching the mockup and completing the layout deferred from LC-559. Carved out as LC-574; approved from a visual pass (all recommended).
What changed
The message input now spans the full width on top and is borderless - the elevated card frames it, a 2px focus ring replaces the resting border, and
.lc-mdback/.lc-mdinputkeep an equal 1px transparent border so the LC-399 markdown-highlight overlay stays metric-pinned.Below it, a single
.lc-composer-barholds:B I S|sep|</> link bullet quote, then asep, then the action icons (attach, mic, clip, emoji, poll, AI, event, gif, schedule);.lc-composer-bar-right,ml-auto): char counter, Preview toggle, ephemeral-timer select, accent Send square.The bar wraps on narrow widths, so it no longer overflows and its buttons take a true 44x44 on coarse pointers - completing the dense-row target the LC-573 decision had deferred for the composer (the room-header cluster still doesn't wrap, so it stays height-only). The two composer button sizes (28px
.lc-fmt-btn/ 36px.lc-composer-btn, both composer-only) are unified to 32px.Safety
Structural move only - every button keeps its
id/data-lc-*/hx-*/onclick, so the composer JS and htmx keep all node references. Verified: singletextarea[name=body], single#composer-send, single preview pane, balanced tags;dev/cargo checkcompiles the template; dev-web rebuilt and serving. Shared by the room and DM composer.Please give the live composer a spin (type/resize, mention/slash/emoji popovers, Preview toggle, attach/voice, Send enable) on the running instance - the interaction set is unchanged but this is the heaviest-wired file in the redesign.
🤖 Generated with Claude Code
https://claude.ai/code/session_01GJbJChgMXj7m1Q8GdnTPyT