UNPKG

@uimkit/uikit-react

Version:

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

62 lines (55 loc) 3.96 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var TranslationContext = require('../../context/TranslationContext.js'); var UIKitContext = require('../../context/UIKitContext.js'); require('../../context/ComponentContext.js'); require('../../context/ChatActionContext.js'); require('../../context/MessageInputContext.js'); require('../../context/UIMessageContext.js'); require('../../context/ChatStateContext.js'); var UIConversationPreviewContent = require('./UIConversationPreviewContent.js'); require('../../types/models.js'); require('../../types/events.js'); var utils = require('./utils.js'); var useIMAccount = require('../../hooks/useIMAccount.js'); require('../Icon/type.js'); require('../Icon/config.js'); var utils$1 = require('../../i18n/utils.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function UIConversationPreview(props) { var activeConversation = props.activeConversation, conversation = props.conversation, _a = props.Preview, Preview = _a === void 0 ? UIConversationPreviewContent.UIConversationPreviewContent : _a, searchValue = props.searchValue, conversationUpdateCount = props.conversationUpdateCount; var setActiveConversation = UIKitContext.useUIKit('ConversationPreview').setActiveConversation; useIMAccount.useIMAccount(activeConversation === null || activeConversation === void 0 ? void 0 : activeConversation.accountId); var _b = React.useState(utils.getDisplayImage(conversation)), displayImage = _b[0], setDisplayImage = _b[1]; var _c = React.useState(utils.getDisplayTitle(conversation, searchValue)), displayTitle = _c[0], setDisplayTitle = _c[1]; var _d = React.useState(utils.getDisplayMessage(conversation)), displayMessage = _d[0], setDisplayMessage = _d[1]; var tDateTimeParser = TranslationContext.useTranslationContext().tDateTimeParser; var last_message = conversation.last_message; var formattedDate = utils$1.getDateString({ tDateTimeParser: tDateTimeParser, messageCreatedAt: (last_message === null || last_message === void 0 ? void 0 : last_message.sent_at) ? new Date(last_message === null || last_message === void 0 ? void 0 : last_message.sent_at) : null, }); var _e = React.useState(formattedDate), displayTime = _e[0], setDisplayTime = _e[1]; var _f = React.useState(conversation.unread), unread = _f[0], setUnread = _f[1]; var isActive = (activeConversation === null || activeConversation === void 0 ? void 0 : activeConversation.id) === (conversation === null || conversation === void 0 ? void 0 : conversation.id); if (!Preview) return null; React.useEffect(function () { var last_message = conversation.last_message; var formattedDate = utils$1.getDateString({ tDateTimeParser: tDateTimeParser, messageCreatedAt: (last_message === null || last_message === void 0 ? void 0 : last_message.sent_at) ? new Date(last_message === null || last_message === void 0 ? void 0 : last_message.sent_at) : null, }); setDisplayTitle(utils.getDisplayTitle(conversation, searchValue)); setDisplayMessage(utils.getDisplayMessage(conversation)); setDisplayImage(utils.getDisplayImage(conversation)); setDisplayTime(formattedDate); setUnread(conversation.unread); }, [conversation, searchValue, conversationUpdateCount]); return (React__default["default"].createElement(Preview, tslib.__assign({}, props, { active: isActive, displayImage: displayImage, displayTitle: displayTitle, displayMessage: displayMessage, displayTime: displayTime, unread: unread, setActiveConversation: setActiveConversation }))); } exports.UIConversationPreview = UIConversationPreview; //# sourceMappingURL=UIConversationPreview.js.map