feat: supervisor fixes — settings disabled cards, column toggle fix, hold SSE, campaign edit disabled

- SectionCard: added disabled prop (muted, non-clickable, no arrow)
- Settings hub: Clinics, Doctors, Team, Telephony, AI, Widget cards disabled
- Campaigns: edit button disabled
- Missed calls + Call recordings: column toggle blank page fixed (key-based
  Table remount forces clean React Aria collection on column change)
- Live monitor: replaced 5s polling with SSE stream for real-time active
  call updates (new/hold/unhold/disconnect reflected instantly)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-17 05:45:04 +05:30
parent b03d0f62cf
commit a9d19af1d3
6 changed files with 75 additions and 30 deletions

View File

@@ -264,7 +264,7 @@ export const CallRecordingsPage = () => {
</div>
) : (
<div className="flex flex-1 flex-col min-h-0 overflow-auto">
<Table size="sm" sortDescriptor={sortDescriptor} onSortChange={setSortDescriptor}>
<Table key={Array.from(visibleColumns).sort().join(',')} size="sm" sortDescriptor={sortDescriptor} onSortChange={setSortDescriptor}>
<Table.Header columns={activeColumns}>
{(col) => (
<Table.Head
@@ -278,7 +278,7 @@ export const CallRecordingsPage = () => {
</Table.Header>
<Table.Body items={pagedRows}>
{(call) => (
<Table.Row id={call.id} columns={activeColumns}>
<Table.Row id={call.id} columns={activeColumns} className="group/row">
{(col) => (
<Table.Cell key={col.id}>
{renderRecordingCell(call, col.id)}