ui: voice recorder pulse + TDS styling, wire mic denied error to input bar

- VoiceMessageRecorder recording dot now pulses (reuses pttLivePulse keyframe)
- Added data-voice-recorder / data-voice-rec-dot / data-voice-waveform attributes
  for TDS targeting: green pulsing dot, cyan waveform bars, subtle border in TDS dark
- Wire VoiceMessageRecorder onError to the same input-bar error display used by
  location errors (mic denied, media error surfaces to user instead of silent fail)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 00:30:12 -04:00
parent d58c445d74
commit 5d10afb7a6
3 changed files with 40 additions and 1 deletions
+29
View File
@@ -921,6 +921,35 @@ globalStyle(
},
);
// ── Voice recorder TDS ───────────────────────────────────────────────────────
globalStyle(`body.${lotusTerminalBodyClass} [data-voice-recorder="recording"]`, {
background: 'rgba(0,212,255,0.05) !important' as any,
border: '1px solid rgba(0,212,255,0.22) !important' as any,
borderRadius: '6px',
});
globalStyle(`body.${lotusTerminalBodyClass} [data-voice-rec-dot]`, {
background: '#00FF88 !important' as any,
boxShadow: '0 0 6px rgba(0,255,136,0.55)',
});
globalStyle(`body.${lotusTerminalBodyClass} [data-voice-waveform] > div`, {
background: '#00D4FF !important' as any,
});
// light TDS
globalStyle(
`html[data-theme="light"] body.${lotusTerminalBodyClass} [data-voice-recorder="recording"]`,
{
background: 'rgba(0,98,184,0.05) !important' as any,
border: '1px solid rgba(0,98,184,0.22) !important' as any,
},
);
globalStyle(`html[data-theme="light"] body.${lotusTerminalBodyClass} [data-voice-rec-dot]`, {
background: '#006d35 !important' as any,
boxShadow: 'none',
});
globalStyle(`html[data-theme="light"] body.${lotusTerminalBodyClass} [data-voice-waveform] > div`, {
background: '#0062b8 !important' as any,
});
// ── Caption input TDS focus ring ──────────────────────────────────────────────
globalStyle(`body.${lotusTerminalBodyClass} [data-caption-input]:focus-visible`, {
borderColor: 'rgba(255,107,0,0.65) !important' as any,