@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
74 lines (67 loc) • 4.28 kB
JavaScript
'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