UNPKG

@sendbird/uikit-react

Version:

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

101 lines (97 loc) 6.13 kB
import React__default, { useContext } from 'react'; import { useOpenChannelSettingsContext } from '../context.js'; import { L as LocalizationContext } from '../../chunks/bundle-Cdqsdoa8.js'; import { L as Label, a as LabelColors, c as LabelTypography } from '../../chunks/bundle-Cdplrrlw.js'; import Icon, { IconColors, IconTypes } from '../../ui/Icon.js'; import { u as useSendbird } from '../../chunks/bundle-4clodtJA.js'; import PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder.js'; import { OperatorUI } from './OperatorUI.js'; import { P as ParticipantList } from '../../chunks/bundle-BpM8phr1.js'; import '@sendbird/chat/openChannel'; import '../../chunks/bundle-B5LKcMN_.js'; import '../../chunks/bundle-LLA95Pqf.js'; import '../../chunks/bundle-Bpofr334.js'; import '../../chunks/bundle-B56O1y8C.js'; import '../../chunks/bundle-JhKiWlXT.js'; import '@sendbird/chat'; import '@sendbird/chat/groupChannel'; import '../../chunks/bundle-oM0Fxt9G.js'; import '../../chunks/bundle-DmnXeBdU.js'; import '../../chunks/bundle-DX6fRIJl.js'; import '../../ui/Loader.js'; import './OpenChannelProfile.js'; import '../../ui/TextButton.js'; import '../../chunks/bundle-C1npFBfj.js'; import '../../ui/OpenChannelAvatar.js'; import '../../chunks/bundle-BJShQs4P.js'; import '../../ui/ImageRenderer.js'; import '../../chunks/bundle-F_R9C4cW.js'; import '../../chunks/bundle-D646l1Rn.js'; import './EditDetailsModal.js'; import '../../chunks/bundle-YDriVB8K.js'; import '../../chunks/bundle-C4anRHWY.js'; import 'react-dom'; import '../../chunks/bundle-C2ARCMSL.js'; import '../../ui/IconButton.js'; import '../../ui/Button.js'; import '../../ui/Input.js'; import '../../ui/Accordion.js'; import '../../ui/AccordionGroup.js'; import '../../chunks/bundle-zNUBt0Cg.js'; import '../../ui/SortByRow.js'; import '../../chunks/bundle-BZSLsKkw.js'; import '../../utils/message/getOutgoingMessageState.js'; import '../../chunks/bundle-CglqREVl.js'; import '../../chunks/bundle-lqEjT2ED.js'; import '../../chunks/bundle-BqKoZDqX.js'; import '../../ui/UserListItem.js'; import '../../ui/MutedAvatarOverlay.js'; import '../../ui/Checkbox.js'; import '../../ui/UserProfile.js'; import '../../sendbirdSelectors.js'; function InvalidChannel(_a) { var _b; var onCloseClick = _a.onCloseClick; var stringSet = useContext(LocalizationContext).stringSet; var state = 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' ? IconColors.CONTENT_INVERSE : IconColors.PRIMARY; 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", fillColor: iconColor, 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, _e; var renderOperatorUI = _a.renderOperatorUI, renderParticipantList = _a.renderParticipantList; var _f = useOpenChannelSettingsContext(), channel = _f.channel, onCloseClick = _f.onCloseClick, isChannelInitialized = _f.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 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' ? IconColors.CONTENT_INVERSE : IconColors.PRIMARY; 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", 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.createElement(ParticipantList, null)))))); }; export { OpenChannelUI as default }; //# sourceMappingURL=OpenChannelSettingsUI.js.map