/** * LiveSyncIndicator — visual SSE connection status indicator (LIST-04, D-11). * * States per UI-SPEC §"LiveSyncIndicator": * connected: 8px filled circle in --color-member-1 (#50C878), no label * reconnecting: 8px pulsing circle in --color-text-muted + "Reconnecting…" label * disconnected: 8px filled circle in --color-destructive + "Updates paused" label * * Accessibility: * - role="status" for connected/reconnecting (polite announcements) * - role="alert" for disconnected state (assertive announcement) * - aria-label per UI-SPEC copywriting contract * * Positioned at the right end of the ListDetail header row. * Visible only inside ListDetail (not on ListsIndex). */ import type { SyncState } from '../hooks/useListSSE.js'; interface LiveSyncIndicatorProps { state: SyncState; } export function LiveSyncIndicator({ state }: LiveSyncIndicatorProps) { if (state === 'connected') { return (