@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
38 lines (35 loc) • 2.14 kB
JavaScript
import { __assign } from 'tslib';
import React__default, { useCallback } from 'react';
import { MESSAGE_OPERATE, MESSAGE_FLOW } from '../../constants.js';
import '../../context/TranslationContext.js';
import '../../context/UIKitContext.js';
import '../../context/ComponentContext.js';
import { useChatActionContext } from '../../context/ChatActionContext.js';
import '../../context/MessageInputContext.js';
import '../../context/UIMessageContext.js';
import '../../context/ChatStateContext.js';
import { MessageType } from '../../types/models.js';
import '../../types/events.js';
function MessageRevokeWithContext(props) {
var message = props.message;
var operateMessage = useChatActionContext('MessageRevokeWithContext').operateMessage;
var handleRevoke = useCallback(function () {
var _a;
operateMessage((_a = {},
_a[MESSAGE_OPERATE.REVOKE] = message,
_a));
}, [operateMessage]);
return (React__default.createElement("div", { className: "bubble message-system message-revoke" },
(message === null || message === void 0 ? void 0 : message.flow) === MESSAGE_FLOW.IN && React__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) !== MESSAGE_FLOW.IN && React__default.createElement("span", null, "you "),
React__default.createElement("span", null, " recalled a message"),
(message === null || message === void 0 ? void 0 : message.flow) === MESSAGE_FLOW.OUT
&& (message === null || message === void 0 ? void 0 : message.type) === MessageType.Text
&& React__default.createElement("span", { className: "edit", role: "button", tabIndex: 0, onClick: handleRevoke }, " Re-edit")));
}
var MemoizedMessageRevoke = React__default.memo(MessageRevokeWithContext);
function MessageRevoke(props) {
return (React__default.createElement(MemoizedMessageRevoke, __assign({}, props)));
}
export { MessageRevoke };
//# sourceMappingURL=MessageRevoke.js.map