ui: forward dialog avatars, poll TDS, delivery icon, caption focus, boot hint
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:
@@ -216,6 +216,7 @@ export function PollContent({
|
||||
|
||||
return (
|
||||
<Box
|
||||
data-poll-content
|
||||
direction="Column"
|
||||
gap="200"
|
||||
style={{ maxWidth: '340px', paddingTop: '2px', paddingBottom: '4px' }}
|
||||
@@ -223,6 +224,7 @@ export function PollContent({
|
||||
<Box
|
||||
alignItems="Center"
|
||||
gap="100"
|
||||
data-poll-content-label
|
||||
style={{
|
||||
fontSize: '0.68rem',
|
||||
fontWeight: 700,
|
||||
@@ -251,6 +253,8 @@ export function PollContent({
|
||||
<button
|
||||
key={id}
|
||||
type="button"
|
||||
data-poll-answer
|
||||
data-selected={selected}
|
||||
onClick={canVote ? () => handleVote(id) : undefined}
|
||||
style={{
|
||||
padding: '7px 12px',
|
||||
|
||||
@@ -188,6 +188,7 @@ export function UploadCardRenderer({
|
||||
placeholder="Add a caption… (optional)"
|
||||
value={metadata.caption ?? ''}
|
||||
onChange={(e) => setMetadata(fileItem, { ...metadata, caption: e.target.value })}
|
||||
data-caption-input
|
||||
style={{
|
||||
marginTop: '6px',
|
||||
width: '100%',
|
||||
@@ -199,6 +200,7 @@ export function UploadCardRenderer({
|
||||
color: 'var(--text-primary)',
|
||||
outline: 'none',
|
||||
boxSizing: 'border-box',
|
||||
transition: 'border-color 0.15s, box-shadow 0.15s',
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user