ui: forward dialog avatars, poll TDS, delivery icon, caption focus, boot hint
CI / Build & Quality Checks (push) Failing after 5m46s

ForwardMessageDialog:
- Room list now shows small avatars (48px crop) + DM label beneath room name
- Forward is now async: spinner overlay while in-flight, '✓ Forwarded' only
  shown after sendEvent resolves; error clears sending state so user can retry
- Search bar hidden in success state for cleaner confirmation view

DeliveryStatus:
- QUEUED state used  emoji breaking the ASCII/terminal aesthetic; changed
  to ⟳ matching the SENDING/ENCRYPTING icon

PollContent:
- Added data-poll-content + data-poll-answer + data-selected attributes so
  TDS CSS can override inline styles without JS branching
- Added data-poll-content-label on the ◉ Poll header
- TDS dark: answers get cyan dim bg/border, selected gets orange highlight
  with subtle box-shadow; hover brightens border; label uses cyan glow
- TDS light: equivalent blue/orange variants

Caption input:
- Marked with data-caption-input; focus-visible ring added in index.css
  (blue for default, dark-theme dark blue) and lotus-terminal.css.ts
  (orange glow for TDS dark, orange for TDS light)

Boot sequence:
- Added '[ ESC ] skip' hint at bottom-right of overlay so users know
  they can dismiss it without waiting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 23:01:13 -04:00
parent dd5cede31d
commit df99038ad6
7 changed files with 202 additions and 30 deletions
+17
View File
@@ -55,8 +55,25 @@ export function runLotusBootSequence(force = false): void {
'line-height:1.7',
'white-space:pre-wrap',
'overflow:hidden',
'flex:1',
].join(';');
overlay.appendChild(pre);
const escHint = document.createElement('div');
escHint.style.cssText = [
'position:absolute',
'bottom:1.5rem',
'right:2rem',
'font-size:0.68rem',
'color:rgba(0,255,136,0.35)',
"font-family:'JetBrains Mono','Courier New',monospace",
'letter-spacing:0.08em',
'user-select:none',
'pointer-events:none',
].join(';');
escHint.textContent = '[ ESC ] skip';
overlay.appendChild(escHint);
document.body.appendChild(overlay);
const dismiss = (): void => {