diff --git a/apps/x/apps/renderer/src/components/sidebar-content.tsx b/apps/x/apps/renderer/src/components/sidebar-content.tsx index dbb5edb5..0368b1da 100644 --- a/apps/x/apps/renderer/src/components/sidebar-content.tsx +++ b/apps/x/apps/renderer/src/components/sidebar-content.tsx @@ -691,10 +691,20 @@ export function SidebarContentPanel({ // Single preview shown as a sublabel on the Email / Meetings nav buttons. const previewEmail = emailThreads[0] const previewMeeting = meetings[0] - const meetingIsRecording = previewMeeting != null - && recordingMeetingSource === previewMeeting.source - && (meetingRecordingState === 'recording' || meetingRecordingState === 'connecting' || meetingRecordingState === 'stopping') - const meetingIsBusy = meetingIsRecording && (meetingRecordingState === 'connecting' || meetingRecordingState === 'stopping') + // Drive the recording indicator off the global recording state — there is only + // one active recording, so it must show even for ad-hoc recordings or meetings + // that aren't the upcoming one previewed here. + const meetingIsRecording = meetingRecordingState === 'recording' + || meetingRecordingState === 'connecting' + || meetingRecordingState === 'stopping' + const meetingIsBusy = meetingRecordingState === 'connecting' || meetingRecordingState === 'stopping' + // Title of the meeting being recorded, when it's the upcoming one we preview. + const recordingMeeting = previewMeeting != null && recordingMeetingSource === previewMeeting.source + ? previewMeeting + : null + const meetingSublabel = meetingIsRecording + ? (recordingMeeting?.summary ?? 'Recording…') + : (previewMeeting ? `${previewMeeting.summary} · ${formatMeetingTime(previewMeeting)}` : null) return ( @@ -750,19 +760,22 @@ export function SidebarContentPanel({ - +
Meetings - {previewMeeting && ( - - {meetingIsRecording ? previewMeeting.summary : `${previewMeeting.summary} · ${formatMeetingTime(previewMeeting)}`} + {meetingSublabel && ( + + {meetingSublabel} )}
- {previewMeeting && (meetingIsRecording ? ( + {meetingIsRecording ? (
@@ -786,7 +799,7 @@ export function SidebarContentPanel({
- ) : ( + ) : previewMeeting ? (
@@ -819,7 +832,7 @@ export function SidebarContentPanel({ )}
- ))} + ) : null}