UNPKG

@sendbird/uikit-react

Version:

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

62 lines (56 loc) 3.26 kB
'use strict'; var React = require('react'); var useSendbird = require('../chunks/bundle-Bq15P9qk.js'); require('../chunks/bundle-Conb-pOy.js'); require('../chunks/bundle-B19RHFpR.js'); require('../chunks/bundle-Cfh78Xnm.js'); require('@sendbird/chat'); require('@sendbird/chat/groupChannel'); require('@sendbird/chat/openChannel'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefaultCompat(React); var CreateOpenChannelContext = React__default.default.createContext(null); var CreateOpenChannelProvider = function (_a) { var _b, _c; var className = _a.className, children = _a.children, onCreateChannel = _a.onCreateChannel, onBeforeCreateChannel = _a.onBeforeCreateChannel; var state = useSendbird.useSendbird().state; var stores = state.stores, config = state.config; var logger = config.logger; var sdk = ((_b = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk) || null; var sdkInitialized = ((_c = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _c === void 0 ? void 0 : _c.initialized) || false; var createNewOpenChannel = React.useCallback(function (params) { var _a; var name = params.name, coverUrlOrImage = params.coverUrlOrImage; if (sdkInitialized) { var params_1 = {}; params_1.operatorUserIds = ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.currentUser) === null || _a === void 0 ? void 0 : _a.userId) ? [sdk.currentUser.userId] : []; params_1.name = name; params_1.coverUrlOrImage = coverUrlOrImage; sdk.openChannel.createChannel((onBeforeCreateChannel === null || onBeforeCreateChannel === void 0 ? void 0 : onBeforeCreateChannel(params_1)) || params_1) .then(function (openChannel) { logger.info('CreateOpenChannel: Succeeded creating openChannel', openChannel); onCreateChannel === null || onCreateChannel === void 0 ? void 0 : onCreateChannel(openChannel); }) .catch(function (err) { logger.warning('CreateOpenChannel: Failed creating openChannel', err); }); } }, [sdkInitialized, onBeforeCreateChannel, onCreateChannel]); return (React__default.default.createElement(CreateOpenChannelContext.Provider, { value: { // interface sdk: sdk, sdkInitialized: sdkInitialized, logger: logger, createNewOpenChannel: createNewOpenChannel, } }, React__default.default.createElement("div", { className: "sendbird-create-open-channel ".concat(className), style: { height: 0 } }, children))); }; var useCreateOpenChannelContext = function () { var context = React__default.default.useContext(CreateOpenChannelContext); if (!context) throw new Error('CreateOpenChannelContext not found. Use within the CreateOpenChannel module.'); return context; }; exports.CreateOpenChannelProvider = CreateOpenChannelProvider; exports.useCreateOpenChannelContext = useCreateOpenChannelContext; //# sourceMappingURL=context.js.map