@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
62 lines (59 loc) • 2.62 kB
JavaScript
import { useState, useEffect } from 'react';
import { MESSAGE_OPERATE } from '../../../constants.js';
import { MessageType } from '../../../types/models.js';
import '../../../types/events.js';
import '../../../context/TranslationContext.js';
import '../../../context/UIKitContext.js';
import '../../../context/ComponentContext.js';
import '../../../context/ChatActionContext.js';
import '../../../context/MessageInputContext.js';
import '../../../context/UIMessageContext.js';
import { useChatStateContext } from '../../../context/ChatStateContext.js';
var _a, _b;
var quoteConfigType = (_a = {},
_a[MessageType.Text] = 1,
_a[MessageType.Custom] = 2,
_a[MessageType.Image] = 3,
_a[MessageType.Audio] = 4,
_a[MessageType.Video] = 5,
_a[MessageType.File] = 6,
_a[MessageType.Face] = 8,
_a);
var quoteConfigForShow = (_b = {},
_b[MessageType.Custom] = '[custom]',
_b[MessageType.Image] = '[image]',
_b[MessageType.Audio] = '[audio]',
_b[MessageType.Video] = '[video]',
_b[MessageType.File] = '[file]',
_b[MessageType.Face] = '[face]',
_b);
function useHandleQuoteMessage(msg) {
var operateData = useChatStateContext().operateData;
var _a = 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) === 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,
};
};
useEffect(function () {
var message = msg || operateData[MESSAGE_OPERATE.QUOTE];
setCloudCustomData({
messageReply: message ? handleQuoteMessage(message) : null,
});
}, [operateData, msg]);
return {
cloudCustomData: cloudCustomData,
handleQuoteMessage: handleQuoteMessage,
message: msg || operateData[MESSAGE_OPERATE.QUOTE],
};
}
export { useHandleQuoteMessage };
//# sourceMappingURL=useHandleQuoteMessage.js.map