@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-Dgt7lb2O.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-FZ_FdxZT.js';
import { L as LocalizationContext } from '../../chunks/bundle-DxLnjDoJ.js';
import { u as useOpenChannelContext, k as kFormatter } from '../../chunks/bundle-BQA9qYkO.js';
import { u as useMediaQueryContext } from '../../chunks/bundle-DWJPyrDa.js';
import '../../chunks/bundle-DlZj_j5B.js';
import '../../ui/ImageRenderer.js';
import '../../chunks/bundle-CaW4IP0_.js';
import '../../chunks/bundle-h43SVTxb.js';
import '../../chunks/bundle-Dhutxl0X.js';
import '../../chunks/bundle-D89Qj0P4.js';
import '../../chunks/bundle-tDk7wyaM.js';
import '../../chunks/bundle-BnaoVUUl.js';
import '../../chunks/bundle-C1jTnXNH.js';
import '../../chunks/bundle-C8kxBudB.js';
import '@sendbird/chat';
import '@sendbird/chat/groupChannel';
import '@sendbird/chat/openChannel';
import '../../chunks/bundle-CQBvCw9O.js';
import '../../chunks/bundle-D9lZlE3H.js';
import '../../chunks/bundle-CSjCAZib.js';
import '../../chunks/bundle-WQ_CLl_f.js';
import '../../hooks/useModal.js';
import '../../chunks/bundle-DZaN4z9l.js';
import '../../chunks/bundle-BDItDVZl.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