import React, { useEffect, useState } from 'react'; import { onRealtimeStatus, RealtimeTransport } from '../lib/api'; // Connection pill in the look of the notes' header (Doku/ui-patterns.md): whether changes of others // arrive live, and how. Phones show the short label only. export const LivePill: React.FC = () => { const [status, setStatus] = useState<{ connected: boolean; transport: RealtimeTransport }>({ connected: false, transport: 'none', }); useEffect(() => onRealtimeStatus((connected, transport) => setStatus({ connected, transport })), []); const { connected, transport } = status; return ( {!connected ? ( 'Offline' ) : ( <> Live {transport === 'poll' &&  (Long-Polling)} )} ); };