@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-BIjkVTPN.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-sYB0sr_l.js';
import { L as LocalizationContext } from '../../chunks/bundle-DVsUiVO7.js';
import { u as useOpenChannelContext, k as kFormatter } from '../../chunks/bundle-DMm4A8zZ.js';
import { u as useMediaQueryContext } from '../../chunks/bundle-DVe4vLri.js';
import '../../chunks/bundle-B7RvGM03.js';
import '../../ui/ImageRenderer.js';
import '../../chunks/bundle-BsH3r84n.js';
import '../../chunks/bundle-sT3ilq3P.js';
import '../../chunks/bundle-B4JqClb8.js';
import '../../chunks/bundle-D0GNokoe.js';
import '../../chunks/bundle-CZiyJYBm.js';
import '../../chunks/bundle-BwKOzdpa.js';
import '../../chunks/bundle-Pi8D8X0p.js';
import '../../chunks/bundle-DwUX_8pX.js';
import '@sendbird/chat';
import '@sendbird/chat/groupChannel';
import '@sendbird/chat/openChannel';
import '../../chunks/bundle-DiuNEyCv.js';
import '../../chunks/bundle-CRkzqUcm.js';
import '../../chunks/bundle-BgnOPI6k.js';
import '../../chunks/bundle-yjBEqUul.js';
import '../../hooks/useModal.js';
import '../../chunks/bundle-jVso52Zj.js';
import '../../chunks/bundle-Vv-hPvqF.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