import React from 'react'; import { ConnectionStatusKind } from './types'; import { useClientContext } from './context/main'; import { DefaultLayout } from './layouts/DefaultLayout'; import { ConnectedLayout } from './layouts/ConnectedLayout'; export const App: React.FC = () => { const context = useClientContext(); const [busy, setBusy] = React.useState(); const handleConnectClick = React.useCallback(async () => { const oldStatus = context.connectionStatus; if (oldStatus === ConnectionStatusKind.connected || oldStatus === ConnectionStatusKind.disconnected) { setBusy(true); // eslint-disable-next-line default-case switch (oldStatus) { case ConnectionStatusKind.disconnected: await context.startConnecting(); break; case ConnectionStatusKind.connected: await context.startDisconnecting(); break; } setBusy(false); } }, [context.connectionStatus]); if ( context.connectionStatus === ConnectionStatusKind.disconnected || context.connectionStatus === ConnectionStatusKind.connecting ) { return ; } return ( ); };