UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

74 lines (67 loc) 4.28 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var models = require('../../types/models.js'); require('../../types/events.js'); var Avatar = require('../Avatar/Avatar.js'); var utils = require('../utils.js'); var Icon = require('../Icon/Icon.js'); var type = require('../Icon/type.js'); var index = require('../Plugins/index.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function UIChatHeaderDefault(props) { var propTitle = props.title, propAvatar = props.avatar; props.isOnline; var conversation = props.conversation, isLive = props.isLive, operateIcon = props.operateIcon, pluginComponentList = props.pluginComponentList; var _a = React.useState(''), title = _a[0], setTitle = _a[1]; var _b = React.useState(''), avatar = _b[0], setAvatar = _b[1]; React.useEffect(function () { setTitle(propTitle); if (propAvatar) { setAvatar(propAvatar); } switch (conversation === null || conversation === void 0 ? void 0 : conversation.type) { case models.ConversationType.Private: handleC2C(conversation, conversation.contact); break; case models.ConversationType.Group: handleGroup(conversation, conversation.contact); break; case models.ConversationType.System: setTitle('系统通知'); break; default: setTitle(''); break; } }, [conversation]); var handleC2C = function (conversation, userProfile) { var _a, _b; if (!propTitle) { setTitle((_a = userProfile === null || userProfile === void 0 ? void 0 : userProfile.nickname) !== null && _a !== void 0 ? _a : userProfile === null || userProfile === void 0 ? void 0 : userProfile.id); } if (!propAvatar) { setAvatar(React__default["default"].createElement(Avatar.Avatar, { size: 32, image: utils.handleDisplayAvatar((_b = conversation.contact) === null || _b === void 0 ? void 0 : _b.avatar) })); } }; var handleGroup = function (conversation, groupProfile) { var _a; if (!propTitle) { setTitle((groupProfile === null || groupProfile === void 0 ? void 0 : groupProfile.name) || (groupProfile === null || groupProfile === void 0 ? void 0 : groupProfile.id)); } if (!propAvatar) { setAvatar(React__default["default"].createElement(Avatar.Avatar, { size: 32, image: utils.handleDisplayAvatar((_a = conversation.contact) === null || _a === void 0 ? void 0 : _a.avatar, models.ConversationType.Group) })); } }; var openUIManage = function () { // setUIManageShow(true); }; return (React__default["default"].createElement("header", { className: "uim-chat-header ".concat(isLive ? 'uim-chat-live-header' : ''), key: conversation === null || conversation === void 0 ? void 0 : conversation.id }, React__default["default"].createElement("div", { className: "uim-chat-header-left ".concat((conversation === null || conversation === void 0 ? void 0 : conversation.type) === models.ConversationType.System ? 'system' : '') }, (conversation === null || conversation === void 0 ? void 0 : conversation.type) !== models.ConversationType.System && avatar), React__default["default"].createElement("div", { className: "header-content" }, React__default["default"].createElement("h3", { className: "title" }, title)), React__default["default"].createElement("div", { className: "uim-chat-header-right" }, React__default["default"].createElement(index.Plugins, { plugins: pluginComponentList, showNumber: 3 }), React__default["default"].createElement("div", { className: "header-handle" }, operateIcon || React__default["default"].createElement(Icon.Icon, { className: "header-handle-more", onClick: openUIManage, type: type.IconTypes.ELLIPSE, width: 18, height: 5 }))))); } exports.UIChatHeaderDefault = UIChatHeaderDefault; //# sourceMappingURL=UIChatHeaderDefault.js.map