UNPKG

@uimkit/uikit-react

Version:

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

62 lines (59 loc) 2.62 kB
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