@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
66 lines (61 loc) • 2.85 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var constants = require('../../../constants.js');
var models = require('../../../types/models.js');
require('../../../types/events.js');
require('../../../context/TranslationContext.js');
require('../../../context/UIKitContext.js');
require('../../../context/ComponentContext.js');
require('../../../context/ChatActionContext.js');
require('../../../context/MessageInputContext.js');
require('../../../context/UIMessageContext.js');
var ChatStateContext = require('../../../context/ChatStateContext.js');
var _a, _b;
var quoteConfigType = (_a = {},
_a[models.MessageType.Text] = 1,
_a[models.MessageType.Custom] = 2,
_a[models.MessageType.Image] = 3,
_a[models.MessageType.Audio] = 4,
_a[models.MessageType.Video] = 5,
_a[models.MessageType.File] = 6,
_a[models.MessageType.Face] = 8,
_a);
var quoteConfigForShow = (_b = {},
_b[models.MessageType.Custom] = '[custom]',
_b[models.MessageType.Image] = '[image]',
_b[models.MessageType.Audio] = '[audio]',
_b[models.MessageType.Video] = '[video]',
_b[models.MessageType.File] = '[file]',
_b[models.MessageType.Face] = '[face]',
_b);
function useHandleQuoteMessage(msg) {
var operateData = ChatStateContext.useChatStateContext().operateData;
var _a = React.useState({ messageReply: null }), cloudCustomData = _a[0], setCloudCustomData = _a[1];
var handleQuoteMessage = function (message) {
var messageType = quoteConfigType[message === null || message === void 0 ? void 0 : message.type];
var messageAbstract = (message === null || message === void 0 ? void 0 : message.type) === models.MessageType.Text
? message === null || message === void 0 ? void 0 : message.text
: quoteConfigForShow[message === null || message === void 0 ? void 0 : message.type];
return {
messageAbstract: messageAbstract,
messageSender: (message === null || message === void 0 ? void 0 : message.nick) || (message === null || message === void 0 ? void 0 : message.from),
messageID: message === null || message === void 0 ? void 0 : message.id,
messageType: messageType,
version: 1,
};
};
React.useEffect(function () {
var message = msg || operateData[constants.MESSAGE_OPERATE.QUOTE];
setCloudCustomData({
messageReply: message ? handleQuoteMessage(message) : null,
});
}, [operateData, msg]);
return {
cloudCustomData: cloudCustomData,
handleQuoteMessage: handleQuoteMessage,
message: msg || operateData[constants.MESSAGE_OPERATE.QUOTE],
};
}
exports.useHandleQuoteMessage = useHandleQuoteMessage;
//# sourceMappingURL=useHandleQuoteMessage.js.map