@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
46 lines (39 loc) • 2.53 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var React = require('react');
var constants = require('../../constants.js');
require('../../context/TranslationContext.js');
require('../../context/UIKitContext.js');
require('../../context/ComponentContext.js');
var ChatActionContext = require('../../context/ChatActionContext.js');
require('../../context/MessageInputContext.js');
require('../../context/UIMessageContext.js');
require('../../context/ChatStateContext.js');
var models = require('../../types/models.js');
require('../../types/events.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
function MessageRevokeWithContext(props) {
var message = props.message;
var operateMessage = ChatActionContext.useChatActionContext('MessageRevokeWithContext').operateMessage;
var handleRevoke = React.useCallback(function () {
var _a;
operateMessage((_a = {},
_a[constants.MESSAGE_OPERATE.REVOKE] = message,
_a));
}, [operateMessage]);
return (React__default["default"].createElement("div", { className: "bubble message-system message-revoke" },
(message === null || message === void 0 ? void 0 : message.flow) === constants.MESSAGE_FLOW.IN && React__default["default"].createElement("span", null, (message === null || message === void 0 ? void 0 : message.nick) || (message === null || message === void 0 ? void 0 : message.from)),
(message === null || message === void 0 ? void 0 : message.flow) !== constants.MESSAGE_FLOW.IN && React__default["default"].createElement("span", null, "you "),
React__default["default"].createElement("span", null, " recalled a message"),
(message === null || message === void 0 ? void 0 : message.flow) === constants.MESSAGE_FLOW.OUT
&& (message === null || message === void 0 ? void 0 : message.type) === models.MessageType.Text
&& React__default["default"].createElement("span", { className: "edit", role: "button", tabIndex: 0, onClick: handleRevoke }, " Re-edit")));
}
var MemoizedMessageRevoke = React__default["default"].memo(MessageRevokeWithContext);
function MessageRevoke(props) {
return (React__default["default"].createElement(MemoizedMessageRevoke, tslib.__assign({}, props)));
}
exports.MessageRevoke = MessageRevoke;
//# sourceMappingURL=MessageRevoke.js.map