@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
60 lines (57 loc) • 4.21 kB
JavaScript
import React__default, { useContext } from 'react';
import { L as LocalizationContext } from '../chunks/bundle-Del33VzI.js';
import { u as useUserProfileContext } from '../chunks/bundle-B0s_McF0.js';
import { getCreateGroupChannel } from '../sendbirdSelectors.js';
import { A as Avatar } from '../chunks/bundle-CAEBoiEz.js';
import { L as Label, a as LabelTypography, b as LabelColors } from '../chunks/bundle-viBng0Kh.js';
import Button, { ButtonTypes } from './Button.js';
import { u as useSendbird } from '../chunks/bundle-i_3w58Zd.js';
import '../chunks/bundle-yl5d1NoZ.js';
import '../chunks/bundle-C1dqPUnT.js';
import '../chunks/bundle-BZGITC2g.js';
import '../chunks/bundle-BOykFtQ3.js';
import '../chunks/bundle-MlG9piGf.js';
import './ImageRenderer.js';
import '../chunks/bundle-Dl_v8XoN.js';
import './Icon.js';
import '../chunks/bundle-BUYU9H94.js';
import '../chunks/bundle-CqLLOVG5.js';
import '@sendbird/chat';
import '@sendbird/chat/groupChannel';
import '@sendbird/chat/openChannel';
function UserProfile(_a) {
var _b, _c;
var user = _a.user, currentUserId = _a.currentUserId, _d = _a.disableMessaging, disableMessaging = _d === void 0 ? false : _d, onSuccess = _a.onSuccess;
var state = useSendbird().state;
var createChannel = getCreateGroupChannel(state);
var logger = (_b = state === null || state === void 0 ? void 0 : state.config) === null || _b === void 0 ? void 0 : _b.logger;
var stringSet = useContext(LocalizationContext).stringSet;
var currentUserId_ = currentUserId || ((_c = state === null || state === void 0 ? void 0 : state.config) === null || _c === void 0 ? void 0 : _c.userId);
var onStartDirectMessage = useUserProfileContext().onStartDirectMessage;
return (React__default.createElement("div", { className: "sendbird__user-profile" },
React__default.createElement("section", { className: "sendbird__user-profile-avatar" },
React__default.createElement(Avatar, { height: "80px", width: "80px", src: user === null || user === void 0 ? void 0 : user.profileUrl })),
React__default.createElement("section", { className: "sendbird__user-profile-name" },
React__default.createElement(Label, { type: LabelTypography.H_2, color: LabelColors.ONBACKGROUND_1 }, (user === null || user === void 0 ? void 0 : user.nickname) || stringSet.NO_NAME)),
((user === null || user === void 0 ? void 0 : user.userId) !== currentUserId_) && !disableMessaging && (React__default.createElement("section", { className: "sendbird__user-profile-message" },
React__default.createElement(Button, { type: ButtonTypes.SECONDARY, onClick: function () {
// Create 1:1 channel
var params = {
isDistinct: false,
invitedUserIds: (user === null || user === void 0 ? void 0 : user.userId) ? [user === null || user === void 0 ? void 0 : user.userId] : [],
operatorUserIds: [currentUserId_],
};
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
createChannel(params)
.then(function (groupChannel) {
logger.info('UserProfile, channel create', groupChannel);
onStartDirectMessage === null || onStartDirectMessage === void 0 ? void 0 : onStartDirectMessage(groupChannel);
});
} }, stringSet.USER_PROFILE__MESSAGE))),
React__default.createElement("div", { className: "sendbird__user-profile-separator" }),
React__default.createElement("section", { className: "sendbird__user-profile-userId" },
React__default.createElement(Label, { className: "sendbird__user-profile-userId--label", type: LabelTypography.CAPTION_2, color: LabelColors.ONBACKGROUND_2 }, stringSet.USER_PROFILE__USER_ID),
React__default.createElement(Label, { className: "sendbird__user-profile-userId--value", type: LabelTypography.BODY_1, color: LabelColors.ONBACKGROUND_1 }, user === null || user === void 0 ? void 0 : user.userId))));
}
export { UserProfile as default };
//# sourceMappingURL=UserProfile.js.map