feat(calls): bring the 1:1 DM call control bar to parity (LC-412) #426
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/lc-412-dm-modal-parity"
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?
Implements LC-412 (subtask of the LC-402 call redesign): bring the 1:1 DM call modal's control bar to parity with the enclave voice page.
What
The DM call modal still used the old flat
slate/indigo/redpill control bar. Migrate it to the same themed.lc-cbtnsystem:.lc-callbar--bottomtray (token surface, top border, centred) that follows light/dark/high-contrast.aria-pressedon/off (now rendered by the shared token styles); Hang up is danger (.lc-cbtn--leave); Transcribe is the danger "recording" toggle with the pulsing dot (.lc-cbtn--rec), tying it to the live pill + drawer just like the voice page.data-lc-transcript-panel-toggleso the drawer can be reopened after closing - the modal previously had no way to bring it back once dismissed (it only auto-opened on transcribe start).Why no JS change
call.jsdrives every button by itsdata-lc-*hook (verified: it only toggleshidden/aria-pressed), so the restyle is transparent.transcribe.jsalready handles the panel toggle/close globally;{% block main %}precedes the modal in the DOM and the voice page and the modal are never both visible, so its first-matchquerySelectorstill targets the right surface. The LC-409 mobile rule is overridden so the modal bar stays a centred wrapping row (no title to stack).Scope
Frontend only:
templates/layout.html(the active-call control bar) andassets/main.css(the.lc-callbar--bottomtray + its mobile override). No Rust, route, or schema change.Tests
just check(standalone + saas compile, clippy, fmt),just test,just test-saasall pass.just build-cssregenerated.