UNPKG

@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
import React__default, { useContext } from 'react'; import { A as Avatar } from '../../chunks/bundle-DzLymkLP.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-DHMhzdxb.js'; import { L as LocalizationContext } from '../../chunks/bundle-Dx_38OXn.js'; import { u as useOpenChannelContext, k as kFormatter } from '../../chunks/bundle-jrAqoPyl.js'; import { u as useMediaQueryContext } from '../../chunks/bundle-CDtkDyUw.js'; import '../../chunks/bundle-k5pprEL4.js'; import '../../ui/ImageRenderer.js'; import '../../chunks/bundle-Ds9YPch2.js'; import '../../chunks/bundle-BCC98_OB.js'; import '../../chunks/bundle-DoyzmJ4N.js'; import '../../chunks/bundle-Dsv3ZewI.js'; import '../../chunks/bundle-D6tIALJA.js'; import '../../chunks/bundle-DlIBbbMW.js'; import '../../chunks/bundle-3CHYtOfL.js'; import '../../chunks/bundle-CAqNV7Jw.js'; import '@sendbird/chat'; import '@sendbird/chat/groupChannel'; import '@sendbird/chat/openChannel'; import '../../chunks/bundle-dMfcSy1Y.js'; import '../../chunks/bundle-Bv2JmaC2.js'; import '../../chunks/bundle-Dub55x6v.js'; import '../../chunks/bundle-3CVJzoCD.js'; import '../../hooks/useModal.js'; import '../../chunks/bundle-CmS7TEQp.js'; import '../../chunks/bundle-EGZmMlDM.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