UNPKG

@sendbird/uikit-react

Version:

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

95 lines (91 loc) 5.59 kB
import React__default, { useContext } from 'react'; import { useOpenChannelSettingsContext } from '../context.js'; import { L as LocalizationContext } from '../../chunks/bundle-DEkOOCXV.js'; import { L as Label, a as LabelTypography, b as LabelColors } from '../../chunks/bundle-BtftT-cX.js'; import Icon, { IconTypes } from '../../ui/Icon.js'; import PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder.js'; import { OperatorUI } from './OperatorUI.js'; import { P as ParticipantList } from '../../chunks/bundle-D7f8bGD2.js'; import { u as useSendbird } from '../../chunks/bundle-BmiTBgG1.js'; import '@sendbird/chat/openChannel'; import '../../chunks/bundle-BTe57HMb.js'; import '../../chunks/bundle-BJ2mapxw.js'; import '../../chunks/bundle-BcmcHhQv.js'; import '../../chunks/bundle-nSggTugx.js'; import '../../chunks/bundle-D0HLMr8A.js'; import '@sendbird/chat'; import '@sendbird/chat/groupChannel'; import '../../chunks/bundle-HJB6-gWU.js'; import '../../chunks/bundle-CHCBafXl.js'; import '../../chunks/bundle-D9zEvquw.js'; import '../../ui/Loader.js'; import './OpenChannelProfile.js'; import '../../ui/TextButton.js'; import '../../chunks/bundle-CLpNliIV.js'; import '../../ui/OpenChannelAvatar.js'; import '../../chunks/bundle-C-uQGUtK.js'; import '../../ui/ImageRenderer.js'; import '../../chunks/bundle-DzW36hCC.js'; import '../../chunks/bundle-Cg9VsWSo.js'; import './EditDetailsModal.js'; import '../../chunks/bundle-DVZRgyYI.js'; import '../../chunks/bundle-CW7sp9Ld.js'; import 'react-dom'; import '../../chunks/bundle-CPtt7fnf.js'; import '../../ui/IconButton.js'; import '../../ui/Button.js'; import '../../ui/Input.js'; import '../../ui/Accordion.js'; import '../../ui/AccordionGroup.js'; import '../../chunks/bundle-BDklsUYB.js'; import '../../ui/SortByRow.js'; import '../../chunks/bundle-AOpqwRaJ.js'; import '../../utils/message/getOutgoingMessageState.js'; import '../../chunks/bundle-CKjna3wg.js'; import '../../chunks/bundle-BFv38Gwl.js'; import '../../chunks/bundle-RFPu_1HD.js'; import '../../ui/UserListItem.js'; import '../../ui/MutedAvatarOverlay.js'; import '../../ui/Checkbox.js'; import '../../ui/UserProfile.js'; import '../../sendbirdSelectors.js'; function InvalidChannel(_a) { var onCloseClick = _a.onCloseClick; var stringSet = useContext(LocalizationContext).stringSet; return (React__default.createElement("div", { className: "sendbird-openchannel-settings" }, React__default.createElement("div", { className: "sendbird-openchannel-settings__header" }, React__default.createElement(Label, { type: LabelTypography.H_2, color: LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__HEADER__TITLE), React__default.createElement(Icon, { type: IconTypes.CLOSE, className: "sendbird-openchannel-settings__close-icon", height: "24px", width: "24px", onClick: function () { onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick(); } })), React__default.createElement("div", { className: "sendbird-openchannel-settings__placeholder" }, React__default.createElement(PlaceHolder, { type: PlaceHolderTypes.WRONG })))); } var OpenChannelUI = function (_a) { var _b, _c, _d; var renderOperatorUI = _a.renderOperatorUI, renderParticipantList = _a.renderParticipantList; var _e = useOpenChannelSettingsContext(), channel = _e.channel, onCloseClick = _e.onCloseClick, isChannelInitialized = _e.isChannelInitialized; var state = useSendbird().state; var logger = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.logger; var user = (_d = (_c = state === null || state === void 0 ? void 0 : state.stores) === null || _c === void 0 ? void 0 : _c.userStore) === null || _d === void 0 ? void 0 : _d.user; var stringSet = useContext(LocalizationContext).stringSet; if (isChannelInitialized && !channel) { return (React__default.createElement(InvalidChannel, { onCloseClick: function () { logger.info('OpenChannelSettings: Click close'); if (onCloseClick) { onCloseClick(); } } })); } return (React__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.createElement(OperatorUI, null))), !(channel === null || channel === void 0 ? void 0 : channel.isOperator(user)) && (React__default.createElement("div", { className: "sendbird-openchannel-settings__participant" }, React__default.createElement("div", { className: "sendbird-openchannel-settings__header" }, React__default.createElement(Label, { type: LabelTypography.H_2, color: LabelColors.ONBACKGROUND_1 }, stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE), React__default.createElement(Icon, { type: IconTypes.CLOSE, className: "sendbird-openchannel-settings__close-icon", height: "24px", width: "24px", onClick: function () { onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick(); } })), (renderParticipantList === null || renderParticipantList === void 0 ? void 0 : renderParticipantList()) || (React__default.createElement(ParticipantList, null)))))); }; export { OpenChannelUI as default }; //# sourceMappingURL=OpenChannelSettingsUI.js.map