@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
55 lines (52 loc) • 4.27 kB
JavaScript
import React__default, { useContext } from 'react';
import { A as Avatar } from '../../chunks/bundle-CAEBoiEz.js';
import Icon, { IconColors, IconTypes } from '../../ui/Icon.js';
import IconButton from '../../ui/IconButton.js';
import { L as Label, a as LabelTypography, b as LabelColors } from '../../chunks/bundle-viBng0Kh.js';
import { L as LocalizationContext } from '../../chunks/bundle-Del33VzI.js';
import { u as useOpenChannelContext, k as kFormatter } from '../../chunks/bundle-D5hQctFB.js';
import { u as useMediaQueryContext } from '../../chunks/bundle-DBhJIxHw.js';
import '../../chunks/bundle-yl5d1NoZ.js';
import '../../ui/ImageRenderer.js';
import '../../chunks/bundle-MlG9piGf.js';
import '../../chunks/bundle-Dl_v8XoN.js';
import '../../chunks/bundle-C1dqPUnT.js';
import '../../chunks/bundle-BZGITC2g.js';
import '../../chunks/bundle-B0s_McF0.js';
import '../../chunks/bundle-i_3w58Zd.js';
import '../../chunks/bundle-BUYU9H94.js';
import '../../chunks/bundle-CqLLOVG5.js';
import '@sendbird/chat';
import '@sendbird/chat/groupChannel';
import '@sendbird/chat/openChannel';
import '../../chunks/bundle-CM73CDTO.js';
import '../../chunks/bundle-BOykFtQ3.js';
import '../../chunks/bundle-DGh2T5IL.js';
import '../../chunks/bundle-BtCCRSPc.js';
import '../../hooks/useModal.js';
import '../../chunks/bundle-DEuCwnTn.js';
import '../../chunks/bundle-CtQtfJlT.js';
import 'react-dom';
import '../../ui/Button.js';
function OpenchannelConversationHeader() {
var stringSet = useContext(LocalizationContext).stringSet;
var _a = useOpenChannelContext(), currentOpenChannel = _a.currentOpenChannel, onChatHeaderActionClick = _a.onChatHeaderActionClick, amIOperator = _a.amIOperator, onBackClick = _a.onBackClick;
var title = currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.name;
var subTitle = "".concat(kFormatter(currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.participantCount), " ").concat(stringSet.OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS);
var coverImage = currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.coverUrl;
var isMobile = useMediaQueryContext().isMobile;
return (React__default.createElement("div", { className: "sendbird-openchannel-conversation-header" },
React__default.createElement("div", { className: "sendbird-openchannel-conversation-header__left" },
isMobile && (React__default.createElement(Icon, { className: "sendbird-oepnchannel-header__icon_back", onClick: onBackClick, fillColor: IconColors.PRIMARY, width: "24px", height: "24px", type: IconTypes.ARROW_LEFT })),
coverImage ? (React__default.createElement(Avatar, { className: "sendbird-openchannel-conversation-header__left__cover-image", src: coverImage, alt: "channel cover image", width: "32px", height: "32px" })) : (React__default.createElement("div", { className: "sendbird-openchannel-conversation-header__left__cover-image--icon", style: { width: 32, height: 32 } },
React__default.createElement(Icon, { type: IconTypes.CHANNELS, fillColor: IconColors.CONTENT, width: "18px", height: "18px" }))),
React__default.createElement(Label, { className: "sendbird-openchannel-conversation-header__left__title", type: LabelTypography.H_2, color: LabelColors.ONBACKGROUND_1 }, title || stringSet.NO_TITLE),
React__default.createElement(Label, { className: "sendbird-openchannel-conversation-header__left__sub-title", type: LabelTypography.BODY_2, color: LabelColors.ONBACKGROUND_2 }, subTitle || stringSet.NO_TITLE)),
React__default.createElement("div", { className: "sendbird-openchannel-conversation-header__right" },
React__default.createElement(IconButton, { className: "sendbird-openchannel-conversation-header__right__trigger", width: "32px", height: "32px", onClick: onChatHeaderActionClick },
React__default.createElement(Icon, { type: (amIOperator
? IconTypes.INFO
: IconTypes.MEMBERS), fillColor: IconColors.PRIMARY, width: "24px", height: "24px" })))));
}
export { OpenchannelConversationHeader as default };
//# sourceMappingURL=OpenChannelHeader.js.map