UNPKG

@sendbird/uikit-react

Version:

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

38 lines (34 loc) 1.86 kB
'use strict'; var React = require('react'); var SendbirdChat = require('@sendbird/chat'); var uuid = require('../chunks/bundle-BeuUz2c0.js'); var useSendbird = require('../chunks/bundle-D6mmpicY.js'); require('../chunks/bundle-DdEJUQ3V.js'); require('../chunks/bundle-HERYYUXZ.js'); require('../chunks/bundle-DWBI0JnU.js'); require('@sendbird/chat/groupChannel'); require('@sendbird/chat/openChannel'); var useConnectionState = function () { var stores = useSendbird.useSendbird().state.stores; var sdkStore = stores.sdkStore; var sdk = sdkStore.sdk; var _a = React.useState(sdk.connectionState), connectionState = _a[0], setConnectionState = _a[1]; React.useEffect(function () { var _a; var handlerId = uuid.uuidv4(); (_a = sdk === null || sdk === void 0 ? void 0 : sdk.addConnectionHandler) === null || _a === void 0 ? void 0 : _a.call(sdk, handlerId, new SendbirdChat.ConnectionHandler({ onConnected: function () { return setConnectionState(SendbirdChat.ConnectionState.OPEN); }, onDisconnected: function () { return setConnectionState(SendbirdChat.ConnectionState.CLOSED); }, onReconnectStarted: function () { return setConnectionState(SendbirdChat.ConnectionState.CONNECTING); }, onReconnectSucceeded: function () { return setConnectionState(SendbirdChat.ConnectionState.OPEN); }, onReconnectFailed: function () { return setConnectionState(SendbirdChat.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; }; exports.useConnectionState = useConnectionState; //# sourceMappingURL=useConnectionState.js.map