UNPKG

@sendbird/uikit-react

Version:

Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.

36 lines (33 loc) 1.76 kB
import { useState, useEffect } from 'react'; import { ConnectionHandler, ConnectionState } from '@sendbird/chat'; import { u as uuidv4 } from '../chunks/bundle-DGh2T5IL.js'; import { u as useSendbird } from '../chunks/bundle-i_3w58Zd.js'; import '../chunks/bundle-yl5d1NoZ.js'; import '../chunks/bundle-BUYU9H94.js'; import '../chunks/bundle-CqLLOVG5.js'; import '@sendbird/chat/groupChannel'; import '@sendbird/chat/openChannel'; var useConnectionState = function () { var stores = useSendbird().state.stores; var sdkStore = stores.sdkStore; var sdk = sdkStore.sdk; var _a = useState(sdk.connectionState), connectionState = _a[0], setConnectionState = _a[1]; useEffect(function () { var _a; var handlerId = uuidv4(); (_a = sdk === null || sdk === void 0 ? void 0 : sdk.addConnectionHandler) === null || _a === void 0 ? void 0 : _a.call(sdk, handlerId, new ConnectionHandler({ onConnected: function () { return setConnectionState(ConnectionState.OPEN); }, onDisconnected: function () { return setConnectionState(ConnectionState.CLOSED); }, onReconnectStarted: function () { return setConnectionState(ConnectionState.CONNECTING); }, onReconnectSucceeded: function () { return setConnectionState(ConnectionState.OPEN); }, onReconnectFailed: function () { return setConnectionState(ConnectionState.CLOSED); }, })); return function () { var _a; (_a = sdk === null || sdk === void 0 ? void 0 : sdk.removeConnectionHandler) === null || _a === void 0 ? void 0 : _a.call(sdk, handlerId); }; }, [sdk]); return connectionState; }; export { useConnectionState }; //# sourceMappingURL=useConnectionState.js.map