UNPKG

@sendbird/uikit-react

Version:

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

107 lines (100 loc) 6.79 kB
'use strict'; var React = require('react'); var OpenChannelSettings_context = require('../context.js'); var LocalizationContext = require('../../chunks/bundle-ClT0IexP.js'); var ui_Label = require('../../chunks/bundle-DxZzcGya.js'); var ui_Icon = require('../../ui/Icon.js'); var useSendbird = require('../../chunks/bundle-on0zTbLT.js'); var ui_PlaceHolder = require('../../ui/PlaceHolder.js'); var OpenChannelSettings_components_OperatorUI = require('./OperatorUI.js'); var OpenChannelSettings_components_ParticipantUI = require('../../chunks/bundle-BX9WTltL.js'); require('@sendbird/chat/openChannel'); require('../../chunks/bundle-iF1pW7_s.js'); require('../../chunks/bundle-BNgfU9I_.js'); require('../../chunks/bundle-jAsAzWpU.js'); require('../../chunks/bundle-Buar9ys-.js'); require('../../chunks/bundle-DZN-28o5.js'); require('@sendbird/chat'); require('@sendbird/chat/groupChannel'); require('../../chunks/bundle-D-_6Kk3L.js'); require('../../chunks/bundle-BXuNw6bR.js'); require('../../chunks/bundle-1F9guuKw.js'); require('../../ui/Loader.js'); require('./OpenChannelProfile.js'); require('../../ui/TextButton.js'); require('../../chunks/bundle-mNJHRgJ3.js'); require('../../ui/OpenChannelAvatar.js'); require('../../chunks/bundle-Czc5a05Q.js'); require('../../ui/ImageRenderer.js'); require('../../chunks/bundle-CZmT_dIf.js'); require('../../chunks/bundle-Lc8Xpc4e.js'); require('./EditDetailsModal.js'); require('../../chunks/bundle-B14gP5iL.js'); require('../../chunks/bundle-BFmC2V1o.js'); require('react-dom'); require('../../chunks/bundle-DDUAkmTu.js'); require('../../ui/IconButton.js'); require('../../ui/Button.js'); require('../../ui/Input.js'); require('../../ui/Accordion.js'); require('../../ui/AccordionGroup.js'); require('../../chunks/bundle-BTzm82Jl.js'); require('../../ui/SortByRow.js'); require('../../chunks/bundle-CskFALvU.js'); require('../../utils/message/getOutgoingMessageState.js'); require('../../chunks/bundle-BVn2UMtk.js'); require('../../chunks/bundle-DvHjgbFi.js'); require('../../chunks/bundle-DS7dko_G.js'); require('../../ui/UserListItem.js'); require('../../ui/MutedAvatarOverlay.js'); require('../../ui/Checkbox.js'); require('../../ui/UserProfile.js'); require('../../sendbirdSelectors.js'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefaultCompat(React); function InvalidChannel(_a) { var _b; var onCloseClick = _a.onCloseClick; var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet; var state = useSendbird.useSendbird().state; var theme = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.theme; var iconColor = theme === 'dark' ? ui_Icon.IconColors.CONTENT_INVERSE : ui_Icon.IconColors.PRIMARY; return (React__default.default.createElement("div", { className: "sendbird-openchannel-settings" }, React__default.default.createElement("div", { className: "sendbird-openchannel-settings__header" }, React__default.default.createElement(ui_Label.Label, { type: ui_Label.LabelTypography.H_2, color: ui_Label.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__HEADER__TITLE), React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.CLOSE, className: "sendbird-openchannel-settings__close-icon", fillColor: iconColor, height: "24px", width: "24px", onClick: function () { onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick(); } })), React__default.default.createElement("div", { className: "sendbird-openchannel-settings__placeholder" }, React__default.default.createElement(ui_PlaceHolder.default, { type: ui_PlaceHolder.PlaceHolderTypes.WRONG })))); } var OpenChannelUI = function (_a) { var _b, _c, _d, _e; var renderOperatorUI = _a.renderOperatorUI, renderParticipantList = _a.renderParticipantList; var _f = OpenChannelSettings_context.useOpenChannelSettingsContext(), channel = _f.channel, onCloseClick = _f.onCloseClick, isChannelInitialized = _f.isChannelInitialized; var state = useSendbird.useSendbird().state; var logger = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.logger; var theme = (_c = state === null || state === void 0 ? void 0 : state.config) === null || _c === void 0 ? void 0 : _c.theme; var user = (_e = (_d = state === null || state === void 0 ? void 0 : state.stores) === null || _d === void 0 ? void 0 : _d.userStore) === null || _e === void 0 ? void 0 : _e.user; var iconColor = theme === 'dark' ? ui_Icon.IconColors.CONTENT_INVERSE : ui_Icon.IconColors.PRIMARY; var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet; if (isChannelInitialized && !channel) { return (React__default.default.createElement(InvalidChannel, { onCloseClick: function () { logger.info('OpenChannelSettings: Click close'); if (onCloseClick) { onCloseClick(); } } })); } return (React__default.default.createElement("div", { className: 'sendbird-openchannel-settings' }, (channel === null || channel === void 0 ? void 0 : channel.isOperator(user)) && ((renderOperatorUI === null || renderOperatorUI === void 0 ? void 0 : renderOperatorUI()) || (React__default.default.createElement(OpenChannelSettings_components_OperatorUI.OperatorUI, null))), !(channel === null || channel === void 0 ? void 0 : channel.isOperator(user)) && (React__default.default.createElement("div", { className: "sendbird-openchannel-settings__participant" }, React__default.default.createElement("div", { className: "sendbird-openchannel-settings__header" }, React__default.default.createElement(ui_Label.Label, { type: ui_Label.LabelTypography.H_2, color: ui_Label.LabelColors.ONBACKGROUND_1 }, stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE), React__default.default.createElement(ui_Icon.default, { type: ui_Icon.IconTypes.CLOSE, className: "sendbird-openchannel-settings__close-icon", fillColor: iconColor, height: "24px", width: "24px", onClick: function () { onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick(); } })), (renderParticipantList === null || renderParticipantList === void 0 ? void 0 : renderParticipantList()) || (React__default.default.createElement(OpenChannelSettings_components_ParticipantUI.ParticipantList, null)))))); }; module.exports = OpenChannelUI; //# sourceMappingURL=OpenChannelSettingsUI.js.map