@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
JavaScript
;
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