@droppii-org/chat-mobile 0.2.27 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/messages/revokedMessage/index.js +22 -0
- package/lib/module/components/messages/revokedMessage/index.js.map +1 -0
- package/lib/module/core/useChatListener.js +6 -1
- package/lib/module/core/useChatListener.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +15 -2
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/constants.js +1 -1
- package/lib/module/screens/chat-detail/constants.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +3 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxItem.js +36 -0
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxItem.js.map +1 -0
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js +31 -57
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js +27 -7
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/messageToolbox.utils.js +18 -9
- package/lib/module/screens/chat-detail/messageToolbox/messageToolbox.utils.js.map +1 -1
- package/lib/module/store/message.js +9 -0
- package/lib/module/store/message.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +2 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/utils/conversation.js +1 -1
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/module/utils/messageUtils.js +9 -14
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/typescript/src/components/messages/revokedMessage/index.d.ts +3 -0
- package/lib/typescript/src/components/messages/revokedMessage/index.d.ts.map +1 -0
- package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +1 -0
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxItem.d.ts +10 -0
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts +3 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/messageToolbox.utils.d.ts +3 -7
- package/lib/typescript/src/screens/chat-detail/messageToolbox/messageToolbox.utils.d.ts.map +1 -1
- package/lib/typescript/src/store/message.d.ts +1 -0
- package/lib/typescript/src/store/message.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +1 -1
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +1 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/messages/revokedMessage/index.tsx +23 -0
- package/src/core/useChatListener.ts +8 -1
- package/src/hooks/message/useSendMessage.ts +18 -1
- package/src/screens/chat-detail/constants.ts +1 -1
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +2 -0
- package/src/screens/chat-detail/messageToolbox/MessageToolboxItem.tsx +38 -0
- package/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx +36 -63
- package/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx +47 -10
- package/src/screens/chat-detail/messageToolbox/messageToolbox.utils.ts +28 -11
- package/src/store/message.ts +17 -1
- package/src/translation/resources/i18n.ts +2 -0
- package/src/types/chat.ts +3 -1
- package/src/utils/conversation.ts +1 -1
- package/src/utils/messageUtils.ts +18 -13
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { KContainer, KLabel } from '@droppii/libs';
|
|
5
|
+
import { trans } from "../../../translation/index.js";
|
|
6
|
+
import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
|
|
7
|
+
import { messageStyles } from "../styles.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export const RevokedMessage = /*#__PURE__*/memo(({
|
|
10
|
+
isOutgoing
|
|
11
|
+
}) => {
|
|
12
|
+
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
13
|
+
style: [messageStyles.bubble, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived],
|
|
14
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
15
|
+
typo: "TextMdNormal",
|
|
16
|
+
color: CHAT_BUBBLE_COLORS.timestamp,
|
|
17
|
+
children: trans('msg_type_revoke')
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
RevokedMessage.displayName = 'RevokedMessage';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","KContainer","KLabel","trans","CHAT_BUBBLE_COLORS","messageStyles","jsx","_jsx","RevokedMessage","isOutgoing","View","style","bubble","bubbleSent","bubbleReceived","children","Text","typo","color","timestamp","displayName"],"sourceRoot":"../../../../../src","sources":["components/messages/revokedMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,KAAK,QAAQ,+BAAsB;AAC5C,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,aAAa,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C,OAAO,MAAMC,cAAc,gBAAGR,IAAI,CAAC,CAAC;EAAES;AAAmC,CAAC,KAAK;EAC7E,oBACEF,IAAA,CAACN,UAAU,CAACS,IAAI;IACdC,KAAK,EAAE,CACLN,aAAa,CAACO,MAAM,EACpBH,UAAU,GAAGJ,aAAa,CAACQ,UAAU,GAAGR,aAAa,CAACS,cAAc,CACpE;IAAAC,QAAA,eAEFR,IAAA,CAACL,MAAM,CAACc,IAAI;MAACC,IAAI,EAAC,cAAc;MAACC,KAAK,EAAEd,kBAAkB,CAACe,SAAU;MAAAJ,QAAA,EAClEZ,KAAK,CAAC,iBAAiB;IAAC,CACd;EAAC,CACC,CAAC;AAEtB,CAAC,CAAC;AAEFK,cAAc,CAACY,WAAW,GAAG,gBAAgB","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import OpenIMSDK, { OpenIMEvent } from '@droppii/openim-rn-client-sdk';
|
|
4
4
|
import { useCallback, useEffect } from 'react';
|
|
5
5
|
import { useConversationStore } from "../store/conversation.js";
|
|
6
|
-
import { useMessageStore } from "../store/message.js";
|
|
6
|
+
import { markMessageRevoked, useMessageStore } from "../store/message.js";
|
|
7
7
|
export const useChatListener = () => {
|
|
8
8
|
const updateOneMessage = useMessageStore(state => state.updateOneMessage);
|
|
9
9
|
const onSendMessageProgress = useCallback(({
|
|
@@ -43,6 +43,9 @@ export const useChatListener = () => {
|
|
|
43
43
|
groupID: member.groupID
|
|
44
44
|
});
|
|
45
45
|
}, []);
|
|
46
|
+
const onMessageRevoked = useCallback(revokedInfo => {
|
|
47
|
+
markMessageRevoked(revokedInfo.clientMsgID);
|
|
48
|
+
}, []);
|
|
46
49
|
useEffect(() => {
|
|
47
50
|
// Conversation
|
|
48
51
|
OpenIMSDK.on(OpenIMEvent.OnConversationChanged, onConversationChanged);
|
|
@@ -54,6 +57,7 @@ export const useChatListener = () => {
|
|
|
54
57
|
|
|
55
58
|
// Message status
|
|
56
59
|
OpenIMSDK.on(OpenIMEvent.SendMessageProgress, onSendMessageProgress);
|
|
60
|
+
OpenIMSDK.on(OpenIMEvent.OnNewRecvMessageRevoked, onMessageRevoked);
|
|
57
61
|
return () => {
|
|
58
62
|
// Conversation
|
|
59
63
|
OpenIMSDK.off(OpenIMEvent.OnConversationChanged, onConversationChanged);
|
|
@@ -65,6 +69,7 @@ export const useChatListener = () => {
|
|
|
65
69
|
|
|
66
70
|
// Message status
|
|
67
71
|
OpenIMSDK.off(OpenIMEvent.SendMessageProgress, onSendMessageProgress);
|
|
72
|
+
OpenIMSDK.off(OpenIMEvent.OnNewRecvMessageRevoked, onMessageRevoked);
|
|
68
73
|
};
|
|
69
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
70
75
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OpenIMSDK","OpenIMEvent","useCallback","useEffect","useConversationStore","useMessageStore","useChatListener","updateOneMessage","state","onSendMessageProgress","progress","message","console","log","clientMsgID","status","onConversationChanged","conversations","count","length","ids","map","c","conversationID","getState","updateConversations","onNewConversation","onGroupMemberAdded","member","userID","groupID","onGroupMemberDeleted","on","OnConversationChanged","OnNewConversation","OnGroupMemberAdded","OnGroupMemberDeleted","SendMessageProgress","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":";;AAAA,OAAOA,SAAS,IACdC,WAAW,
|
|
1
|
+
{"version":3,"names":["OpenIMSDK","OpenIMEvent","useCallback","useEffect","useConversationStore","markMessageRevoked","useMessageStore","useChatListener","updateOneMessage","state","onSendMessageProgress","progress","message","console","log","clientMsgID","status","onConversationChanged","conversations","count","length","ids","map","c","conversationID","getState","updateConversations","onNewConversation","onGroupMemberAdded","member","userID","groupID","onGroupMemberDeleted","onMessageRevoked","revokedInfo","on","OnConversationChanged","OnNewConversation","OnGroupMemberAdded","OnGroupMemberDeleted","SendMessageProgress","OnNewRecvMessageRevoked","off"],"sourceRoot":"../../../src","sources":["core/useChatListener.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import { extractUrls } from "../../utils/url.js";
|
|
|
7
7
|
import OpenIMSDK from '@droppii/openim-rn-client-sdk';
|
|
8
8
|
import { useChatContext } from "../../context/index.js";
|
|
9
9
|
import { generateContentBasedOnMessageType } from "../../utils/conversation.js";
|
|
10
|
-
import { useMessageStore } from "../../store/message.js";
|
|
10
|
+
import { markMessageRevoked, useMessageStore } from "../../store/message.js";
|
|
11
11
|
const buildSendParams = (message, recvID, groupID, extendMessageInfo, plainText) => ({
|
|
12
12
|
groupID,
|
|
13
13
|
recvID,
|
|
@@ -106,9 +106,22 @@ export const useSendMessage = () => {
|
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
108
|
}, [pushNewMessage, updateOneMessage, deleteOneMessage]);
|
|
109
|
+
const revokeMessage = useCallback(async message => {
|
|
110
|
+
const conversationID = useConversationStore.getState().getCurrentConversation()?.conversationID;
|
|
111
|
+
if (!conversationID) throw new Error('No active conversation');
|
|
112
|
+
await OpenIMSDK.revokeMessage({
|
|
113
|
+
conversationID,
|
|
114
|
+
clientMsgID: message.clientMsgID
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
// TODO: Handle revoked quoted message
|
|
118
|
+
|
|
119
|
+
markMessageRevoked(message.clientMsgID);
|
|
120
|
+
}, []);
|
|
109
121
|
return {
|
|
110
122
|
sendMessage,
|
|
111
|
-
retryMessage
|
|
123
|
+
retryMessage,
|
|
124
|
+
revokeMessage
|
|
112
125
|
};
|
|
113
126
|
};
|
|
114
127
|
const generateOfflinePushInfo = (contentType, plainText) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useConversationStore","MessageStatus","MessageType","extractUrls","OpenIMSDK","useChatContext","generateContentBasedOnMessageType","useMessageStore","buildSendParams","message","recvID","groupID","extendMessageInfo","plainText","ex","JSON","stringify","offlinePushInfo","generateOfflinePushInfo","contentType","useSendMessage","applicationType","pushNewMessage","state","updateOneMessage","deleteOneMessage","dispatchSend","status","Sending","sent","sendMessage","clientMsgID","Failed","files","urlMetadata","flow","userID","getState","getCurrentConversation","messageList","file","hasText","trim","hasPreview","url","urls","isUrlMessage","length","createUrlTextMessage","createTextMessage","push","retryMessage","isAttachment","PictureMessage","VideoMessage","FileMessage","MergeMessage","includes","params","sendMessageNotOss","parse","conversationData","title","showName","desc","icon","faceURL","conversationId","
|
|
1
|
+
{"version":3,"names":["useCallback","useConversationStore","MessageStatus","MessageType","extractUrls","OpenIMSDK","useChatContext","generateContentBasedOnMessageType","markMessageRevoked","useMessageStore","buildSendParams","message","recvID","groupID","extendMessageInfo","plainText","ex","JSON","stringify","offlinePushInfo","generateOfflinePushInfo","contentType","useSendMessage","applicationType","pushNewMessage","state","updateOneMessage","deleteOneMessage","dispatchSend","status","Sending","sent","sendMessage","clientMsgID","Failed","files","urlMetadata","flow","userID","getState","getCurrentConversation","messageList","file","hasText","trim","hasPreview","url","urls","isUrlMessage","length","createUrlTextMessage","createTextMessage","push","retryMessage","isAttachment","PictureMessage","VideoMessage","FileMessage","MergeMessage","includes","params","sendMessageNotOss","parse","revokeMessage","conversationID","Error","conversationData","title","showName","desc","icon","faceURL","conversationId","iOSPushSound","iOSBadgeCount","text","textMessage","Date","getTime","toString","then","data","catch","errCode","errMsg","console","error","urlTextMessage"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KColors","opacityToSolid","CHAT_BUBBLE_COLORS","received","white","sent","text","gray","dark","timestamp","light","dayLabel","DEFAULT_Chat_QUICK_ACTIONS","id","label","iconName","ATTACHMENT_PANEL_COLUMNS","ATTACHMENT_ITEM_HEIGHT","ATTACHMENT_PANEL_VERTICAL_PADDING","getAttachmentPanelHeight","actionCount","columns","rows","Math","ceil","DEFAULT_ATTACHMENT_PANEL_HEIGHT","DEFAULT_ATTACHMENT_ACTIONS"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/constants.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,SAASC,cAAc,QAAQ,mBAAgB;AAE/C,OAAO,MAAMC,kBAAkB,GAAG;EAChCC,QAAQ,EAAEF,cAAc,CAAC,WAAW,EAAED,OAAO,CAACI,KAAK,EAAE,GAAG,CAAC;EACzDC,IAAI,EAAEJ,cAAc,CAAC,WAAW,EAAED,OAAO,CAACI,KAAK,EAAE,GAAG,CAAC;EACrDE,IAAI,EAAEN,OAAO,CAACO,IAAI,CAACC,IAAI;EACvBC,SAAS,EAAET,OAAO,CAACO,IAAI,CAACG,KAAK;EAC7BC,QAAQ,EAAEX,OAAO,CAACO,IAAI,CAACG;AACzB,CAAU;AAEV,OAAO,MAAME,0BAA8C,GAAG,CAC5D;EACEC,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,aAAa;EACpBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,YAAY;EAChBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,cAAc;EAClBC,KAAK,EAAE,uBAAuB;EAC9BC,QAAQ,EAAE;AACZ,CAAC,CACF;AAED,OAAO,MAAMC,wBAAwB,GAAG,CAAC;AACzC,OAAO,MAAMC,sBAAsB,GAAG,GAAG;AACzC,OAAO,MAAMC,iCAAiC,GAAG,EAAE;AAEnD,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,WAAmB,EACnBC,OAAO,GAAGL,wBAAwB,KACvB;EACX,MAAMM,IAAI,GAAGC,IAAI,CAACC,IAAI,CAACJ,WAAW,GAAGC,OAAO,CAAC;EAC7C,OAAOC,IAAI,GAAGL,sBAAsB,GAAGC,iCAAiC;AAC1E,CAAC;;AAED;AACA,OAAO,MAAMO,+BAA+B,GAAGN,wBAAwB,CAAC,CAAC,CAAC;AAE1E,OAAO,MAAMO,0BAAmD,GAAG,CACjE;EACEb,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,WAAW;EAClBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,QAAQ;EACZC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,
|
|
1
|
+
{"version":3,"names":["KColors","opacityToSolid","CHAT_BUBBLE_COLORS","received","white","sent","text","gray","dark","timestamp","light","dayLabel","DEFAULT_Chat_QUICK_ACTIONS","id","label","iconName","ATTACHMENT_PANEL_COLUMNS","ATTACHMENT_ITEM_HEIGHT","ATTACHMENT_PANEL_VERTICAL_PADDING","getAttachmentPanelHeight","actionCount","columns","rows","Math","ceil","DEFAULT_ATTACHMENT_PANEL_HEIGHT","DEFAULT_ATTACHMENT_ACTIONS"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/constants.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,SAASC,cAAc,QAAQ,mBAAgB;AAE/C,OAAO,MAAMC,kBAAkB,GAAG;EAChCC,QAAQ,EAAEF,cAAc,CAAC,WAAW,EAAED,OAAO,CAACI,KAAK,EAAE,GAAG,CAAC;EACzDC,IAAI,EAAEJ,cAAc,CAAC,WAAW,EAAED,OAAO,CAACI,KAAK,EAAE,GAAG,CAAC;EACrDE,IAAI,EAAEN,OAAO,CAACO,IAAI,CAACC,IAAI;EACvBC,SAAS,EAAET,OAAO,CAACO,IAAI,CAACG,KAAK;EAC7BC,QAAQ,EAAEX,OAAO,CAACO,IAAI,CAACG;AACzB,CAAU;AAEV,OAAO,MAAME,0BAA8C,GAAG,CAC5D;EACEC,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,aAAa;EACpBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,YAAY;EAChBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,cAAc;EAClBC,KAAK,EAAE,uBAAuB;EAC9BC,QAAQ,EAAE;AACZ,CAAC,CACF;AAED,OAAO,MAAMC,wBAAwB,GAAG,CAAC;AACzC,OAAO,MAAMC,sBAAsB,GAAG,GAAG;AACzC,OAAO,MAAMC,iCAAiC,GAAG,EAAE;AAEnD,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,WAAmB,EACnBC,OAAO,GAAGL,wBAAwB,KACvB;EACX,MAAMM,IAAI,GAAGC,IAAI,CAACC,IAAI,CAACJ,WAAW,GAAGC,OAAO,CAAC;EAC7C,OAAOC,IAAI,GAAGL,sBAAsB,GAAGC,iCAAiC;AAC1E,CAAC;;AAED;AACA,OAAO,MAAMO,+BAA+B,GAAGN,wBAAwB,CAAC,CAAC,CAAC;AAE1E,OAAO,MAAMO,0BAAmD,GAAG,CACjE;EACEb,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,WAAW;EAClBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,QAAQ;EACZC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,MAAM;EACVC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,OAAO;EACXC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,SAAS;EACbC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC,EACD;EACEF,EAAE,EAAE,UAAU;EACdC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC,CACF","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ import { VideoMessage } from "../../../components/messages/videoMessage/index.js
|
|
|
11
11
|
import { FileMessage } from "../../../components/messages/fileMessage/index.js";
|
|
12
12
|
import { LinkMessage } from "../../../components/messages/linkMessage/index.js";
|
|
13
13
|
import { MergedMessage } from "../../../components/messages/mergedMessage/index.js";
|
|
14
|
+
import { RevokedMessage } from "../../../components/messages/revokedMessage/index.js";
|
|
14
15
|
import { MessageStatusIndicator } from "../../../components/messages/MessageStatusIndicator.js";
|
|
15
16
|
import { messageStyles } from "./messageTypes.js";
|
|
16
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -25,7 +26,8 @@ const messageComponentMap = {
|
|
|
25
26
|
[MessageType.PictureMessage]: ImageMessage,
|
|
26
27
|
[MessageType.VideoMessage]: VideoMessage,
|
|
27
28
|
[MessageType.FileMessage]: FileMessage,
|
|
28
|
-
[MERGED_MESSAGE_TYPE]: MergedMessage
|
|
29
|
+
[MERGED_MESSAGE_TYPE]: MergedMessage,
|
|
30
|
+
[MessageType.RevokeMessage]: RevokedMessage
|
|
29
31
|
};
|
|
30
32
|
const MEDIA_TYPES = [MessageType.PictureMessage, MessageType.VideoMessage, MERGED_MESSAGE_TYPE];
|
|
31
33
|
export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KContainer","memo","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","MessageStatusIndicator","messageStyles","jsx","_jsx","jsxs","_jsxs","MERGED_MESSAGE_TYPE","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","MEDIA_TYPES","LegendChatMessage","message","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onLongPress","customMessageItemFactory","customNode","LongPressWrapper","children","MessageComponent","contentType","hasMediaPress","includes","hasUrlPress","View","style","wrapper","row","alignItems","undefined","displayName","longPressGesture","LongPress","onStart","gesture"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAErC,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,OAAO,QAAQ,yBAAyB;AAGjD,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,aAAa,QAAQ,qDAA4C;AAC1E,SAASC,sBAAsB,QAAQ,wDAAqD;AAE5F,SAASC,aAAa,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAkB/C;AACA,MAAMC,mBAAmB,GAAG,GAAG,CAAC,CAAC;;AAEjC,MAAMC,mBAEL,GAAG;EACF,
|
|
1
|
+
{"version":3,"names":["KContainer","memo","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","MessageStatusIndicator","messageStyles","jsx","_jsx","jsxs","_jsxs","MERGED_MESSAGE_TYPE","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","RevokeMessage","MEDIA_TYPES","LegendChatMessage","message","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onLongPress","customMessageItemFactory","customNode","LongPressWrapper","children","MessageComponent","contentType","hasMediaPress","includes","hasUrlPress","View","style","wrapper","row","alignItems","undefined","displayName","longPressGesture","LongPress","onStart","gesture"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { KContainer, KImage, KLabel } from '@droppii/libs';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
export const MessageToolboxItem = /*#__PURE__*/memo(({
|
|
7
|
+
icon,
|
|
8
|
+
color,
|
|
9
|
+
label,
|
|
10
|
+
visible,
|
|
11
|
+
onPress
|
|
12
|
+
}) => {
|
|
13
|
+
return /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
14
|
+
visible: !!visible,
|
|
15
|
+
children: /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
16
|
+
row: true,
|
|
17
|
+
alignItems: true,
|
|
18
|
+
paddingH: '1rem',
|
|
19
|
+
paddingV: '0.5rem',
|
|
20
|
+
onPress: onPress,
|
|
21
|
+
children: [/*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
22
|
+
name: icon,
|
|
23
|
+
provider: "DroppiiNew",
|
|
24
|
+
size: 24,
|
|
25
|
+
color: color
|
|
26
|
+
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
27
|
+
typo: "TextMdMedium",
|
|
28
|
+
color: color,
|
|
29
|
+
marginL: "0.75rem",
|
|
30
|
+
children: label
|
|
31
|
+
})]
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
MessageToolboxItem.displayName = 'MessageToolboxItem';
|
|
36
|
+
//# sourceMappingURL=MessageToolboxItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","KContainer","KImage","KLabel","jsx","_jsx","jsxs","_jsxs","MessageToolboxItem","icon","color","label","visible","onPress","VisibleView","children","Touchable","row","alignItems","paddingH","paddingV","VectorIcons","name","provider","size","Text","typo","marginL","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxItem.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU3D,OAAO,MAAMC,kBAAkB,gBAAGR,IAAI,CACpC,CAAC;EAAES,IAAI;EAAEC,KAAK;EAAEC,KAAK;EAAEC,OAAO;EAAEC;AAAiC,CAAC,KAAK;EACrE,oBACER,IAAA,CAACJ,UAAU,CAACa,WAAW;IAACF,OAAO,EAAE,CAAC,CAACA,OAAQ;IAAAG,QAAA,eACzCR,KAAA,CAACN,UAAU,CAACe,SAAS;MACnBC,GAAG;MACHC,UAAU;MACVC,QAAQ,EAAE,MAAO;MACjBC,QAAQ,EAAE,QAAS;MACnBP,OAAO,EAAEA,OAAQ;MAAAE,QAAA,gBAEjBV,IAAA,CAACH,MAAM,CAACmB,WAAW;QACjBC,IAAI,EAAEb,IAAK;QACXc,QAAQ,EAAC,YAAY;QACrBC,IAAI,EAAE,EAAG;QACTd,KAAK,EAAEA;MAAM,CACd,CAAC,eACFL,IAAA,CAACF,MAAM,CAACsB,IAAI;QAACC,IAAI,EAAC,cAAc;QAAChB,KAAK,EAAEA,KAAM;QAACiB,OAAO,EAAC,SAAS;QAAAZ,QAAA,EAC7DJ;MAAK,CACK,CAAC;IAAA,CACM;EAAC,CACD,CAAC;AAE7B,CACF,CAAC;AAEDH,kBAAkB,CAACoB,WAAW,GAAG,oBAAoB","ignoreList":[]}
|
|
@@ -2,73 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
import { memo } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
|
-
import { KContainer,
|
|
5
|
+
import { KContainer, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
6
|
import { trans } from "../../../translation/index.js";
|
|
7
|
+
import { MessageToolboxItem } from "./MessageToolboxItem.js";
|
|
7
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
export const MessageToolboxMenu = /*#__PURE__*/memo(({
|
|
9
10
|
showCopyMessage,
|
|
10
|
-
showCopyMessageLink,
|
|
11
11
|
showRetryMessage,
|
|
12
|
+
showRevokeMessage,
|
|
12
13
|
onCopyMessage,
|
|
13
14
|
onCopyMessageLink,
|
|
14
|
-
onRetryMessage
|
|
15
|
+
onRetryMessage,
|
|
16
|
+
onRevokeMessage
|
|
15
17
|
}) => {
|
|
16
|
-
if (!showCopyMessage && !showCopyMessageLink && !showRetryMessage) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
18
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
20
19
|
style: styles.card,
|
|
21
|
-
children: [/*#__PURE__*/_jsx(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
visible:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
color: KColors.gray.dark
|
|
48
|
-
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
49
|
-
typo: "TextMdMedium",
|
|
50
|
-
color: KColors.gray.dark,
|
|
51
|
-
marginL: "0.75rem",
|
|
52
|
-
children: trans('chat:copy_message_link')
|
|
53
|
-
})]
|
|
54
|
-
})
|
|
55
|
-
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
56
|
-
visible: !!showRetryMessage,
|
|
57
|
-
children: /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
58
|
-
style: styles.row,
|
|
59
|
-
onPress: onRetryMessage,
|
|
60
|
-
children: [/*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
61
|
-
name: "arrow-reload-o",
|
|
62
|
-
provider: "DroppiiNew",
|
|
63
|
-
size: 24,
|
|
64
|
-
color: KColors.danger.normal
|
|
65
|
-
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
66
|
-
typo: "TextMdMedium",
|
|
67
|
-
color: KColors.danger.normal,
|
|
68
|
-
marginL: "0.75rem",
|
|
69
|
-
children: trans('chat:retry_message')
|
|
70
|
-
})]
|
|
71
|
-
})
|
|
20
|
+
children: [/*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
21
|
+
icon: "copy-o",
|
|
22
|
+
color: KColors.gray.dark,
|
|
23
|
+
label: trans('chat:copy_message'),
|
|
24
|
+
visible: showCopyMessage,
|
|
25
|
+
onPress: onCopyMessage
|
|
26
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
27
|
+
icon: "link-o",
|
|
28
|
+
color: KColors.gray.dark,
|
|
29
|
+
label: trans('chat:copy_message_link')
|
|
30
|
+
// visible={showCopyMessageLink}
|
|
31
|
+
,
|
|
32
|
+
visible: false,
|
|
33
|
+
onPress: onCopyMessageLink
|
|
34
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
35
|
+
icon: "arrow-reload-o",
|
|
36
|
+
color: KColors.danger.normal,
|
|
37
|
+
label: trans('chat:retry_message'),
|
|
38
|
+
visible: showRetryMessage,
|
|
39
|
+
onPress: onRetryMessage
|
|
40
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
41
|
+
icon: "trash-alt-o-1",
|
|
42
|
+
color: KColors.danger.normal,
|
|
43
|
+
label: trans('chat:revoke_message'),
|
|
44
|
+
visible: showRevokeMessage,
|
|
45
|
+
onPress: onRevokeMessage
|
|
72
46
|
})]
|
|
73
47
|
});
|
|
74
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KColors","KSpacingValue","trans","MessageToolboxItem","jsx","_jsx","jsxs","_jsxs","MessageToolboxMenu","showCopyMessage","showRetryMessage","showRevokeMessage","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","View","style","styles","card","children","icon","color","gray","dark","label","visible","onPress","danger","normal","displayName","create","minWidth","paddingVertical","borderRadius","backgroundColor","white","shadowColor","black","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","row","flexDirection","alignItems","paddingHorizontal"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAClE,SAASC,KAAK,QAAQ,+BAAsB;AAC5C,SAASC,kBAAkB,QAAQ,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAa1D,OAAO,MAAMC,kBAAkB,gBAAGX,IAAI,CACpC,CAAC;EACCY,eAAe;EACfC,gBAAgB;EAChBC,iBAAiB;EACjBC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC;AACuB,CAAC,KAAK;EAC7B,oBACER,KAAA,CAACR,UAAU,CAACiB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,gBAClCf,IAAA,CAACF,kBAAkB;MACjBkB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEtB,OAAO,CAACuB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAEvB,KAAK,CAAC,mBAAmB,CAAE;MAClCwB,OAAO,EAAEjB,eAAgB;MACzBkB,OAAO,EAAEf;IAAc,CACxB,CAAC,eAEFP,IAAA,CAACF,kBAAkB;MACjBkB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEtB,OAAO,CAACuB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAEvB,KAAK,CAAC,wBAAwB;MACrC;MAAA;MACAwB,OAAO,EAAE,KAAM;MACfC,OAAO,EAAEd;IAAkB,CAC5B,CAAC,eAEFR,IAAA,CAACF,kBAAkB;MACjBkB,IAAI,EAAC,gBAAgB;MACrBC,KAAK,EAAEtB,OAAO,CAAC4B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAEvB,KAAK,CAAC,oBAAoB,CAAE;MACnCwB,OAAO,EAAEhB,gBAAiB;MAC1BiB,OAAO,EAAEb;IAAe,CACzB,CAAC,eAEFT,IAAA,CAACF,kBAAkB;MACjBkB,IAAI,EAAC,eAAe;MACpBC,KAAK,EAAEtB,OAAO,CAAC4B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAEvB,KAAK,CAAC,qBAAqB,CAAE;MACpCwB,OAAO,EAAEf,iBAAkB;MAC3BgB,OAAO,EAAEZ;IAAgB,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAEDP,kBAAkB,CAACsB,WAAW,GAAG,oBAAoB;AAErD,MAAMZ,MAAM,GAAGpB,UAAU,CAACiC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IACJa,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAEhC,aAAa,CAAC,QAAQ,CAAC;IACxCiC,YAAY,EAAEjC,aAAa,CAAC,MAAM,CAAC;IACnCkC,eAAe,EAAEnC,OAAO,CAACoC,KAAK;IAC9BC,WAAW,EAAErC,OAAO,CAACsC,KAAK;IAC1BC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE;EACb,CAAC;EACDC,GAAG,EAAE;IACHC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE/C,aAAa,CAAC,MAAM,CAAC;IACxCgC,eAAe,EAAEhC,aAAa,CAAC,QAAQ;EACzC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { forwardRef, useCallback, useImperativeHandle, useState } from 'react';
|
|
3
|
+
import { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';
|
|
4
4
|
import { Modal, Pressable, StyleSheet } from 'react-native';
|
|
5
5
|
import Clipboard from '@react-native-clipboard/clipboard';
|
|
6
6
|
import { UIUtils } from "../../../utils/UIUtils.js";
|
|
7
7
|
import { trans } from "../../../translation/index.js";
|
|
8
8
|
import { LegendChatMessage } from "../legend/LegendChatMessage.js";
|
|
9
9
|
import { MessageToolboxMenu } from "./MessageToolboxMenu.js";
|
|
10
|
-
import { getCopyableMessageText,
|
|
10
|
+
import { getCopyableMessageText, getMessageToolboxItems } from "./messageToolbox.utils.js";
|
|
11
11
|
import { MessageToolboxWrapper } from "./MessageToolboxWrapper.js";
|
|
12
12
|
import { useSendMessage } from "../../../hooks/message/useSendMessage.js";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -18,21 +18,23 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
18
18
|
const [visible, setVisible] = useState(false);
|
|
19
19
|
const [message, setMessage] = useState(undefined);
|
|
20
20
|
const [rect, setRect] = useState(null);
|
|
21
|
-
const toolboxItems =
|
|
21
|
+
const toolboxItems = useMemo(() => getMessageToolboxItems(message, currentUserId), [message, currentUserId]);
|
|
22
22
|
const {
|
|
23
|
-
retryMessage
|
|
23
|
+
retryMessage,
|
|
24
|
+
revokeMessage
|
|
24
25
|
} = useSendMessage();
|
|
25
|
-
console.log(message);
|
|
26
26
|
const hide = useCallback(() => {
|
|
27
27
|
setVisible(false);
|
|
28
28
|
setMessage(undefined);
|
|
29
29
|
setRect(null);
|
|
30
30
|
}, []);
|
|
31
31
|
const show = useCallback((msg, msgRect) => {
|
|
32
|
+
const toolboxNotAvailable = Object.values(getMessageToolboxItems(msg, currentUserId)).filter(Boolean).length === 0;
|
|
33
|
+
if (toolboxNotAvailable) return;
|
|
32
34
|
setMessage(msg);
|
|
33
35
|
setRect(msgRect);
|
|
34
36
|
setVisible(true);
|
|
35
|
-
}, []);
|
|
37
|
+
}, [currentUserId]);
|
|
36
38
|
useImperativeHandle(ref, () => ({
|
|
37
39
|
show,
|
|
38
40
|
hide
|
|
@@ -65,6 +67,23 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
65
67
|
retryMessage(message);
|
|
66
68
|
hide();
|
|
67
69
|
}, [message, hide, retryMessage]);
|
|
70
|
+
const handleRevokeMessage = useCallback(async () => {
|
|
71
|
+
if (!message) return;
|
|
72
|
+
hide();
|
|
73
|
+
try {
|
|
74
|
+
await revokeMessage(message);
|
|
75
|
+
UIUtils.toast.open({
|
|
76
|
+
title: trans('msg_type_revoke'),
|
|
77
|
+
theme: 'success'
|
|
78
|
+
});
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error('revokeMessage', error);
|
|
81
|
+
UIUtils.toast.open({
|
|
82
|
+
title: trans('chat:generic_error'),
|
|
83
|
+
theme: 'error'
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}, [message, hide, revokeMessage]);
|
|
68
87
|
if (!visible || !message || !rect) {
|
|
69
88
|
return null;
|
|
70
89
|
}
|
|
@@ -91,7 +110,8 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
91
110
|
...toolboxItems,
|
|
92
111
|
onCopyMessage: handleCopyMessage,
|
|
93
112
|
onCopyMessageLink: handleCopyMessageLink,
|
|
94
|
-
onRetryMessage: handleRetryMessage
|
|
113
|
+
onRetryMessage: handleRetryMessage,
|
|
114
|
+
onRevokeMessage: handleRevokeMessage
|
|
95
115
|
})
|
|
96
116
|
})]
|
|
97
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useMemo","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","jsx","_jsx","jsxs","_jsxs","MessageToolboxOverlay","currentUserId","customMessageItemFactory","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","toolboxItems","retryMessage","revokeMessage","hide","show","msg","msgRect","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","placeholderLink","recvID","groupID","clientMsgID","serverMsgID","handleRetryMessage","handleRevokeMessage","error","console","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,36 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
import { MessageStatus, MessageType } from '@droppii/openim-rn-client-sdk';
|
|
4
4
|
import { getMessageText } from "../../../utils/legendListMessage.js";
|
|
5
|
+
import { isMessageRevoked } from "../../../utils/messageUtils.js";
|
|
5
6
|
|
|
6
7
|
// Copy message content is only offered for text and link messages.
|
|
7
8
|
const COPYABLE_TEXT_TYPES = [MessageType.TextMessage, MessageType.AtTextMessage, MessageType.QuoteMessage, MessageType.UrlTextMessage];
|
|
8
|
-
|
|
9
|
-
export const isMessageSucceeded = message => message.status !== MessageStatus.Failed && message.status !== MessageStatus.Sending;
|
|
9
|
+
const isMessageSucceeded = message => message.status !== MessageStatus.Failed && message.status !== MessageStatus.Sending;
|
|
10
10
|
|
|
11
|
-
// Failed or
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
// Failed or revoked messages never offer either copy action.
|
|
12
|
+
const isEligibleForToolbox = message => isMessageSucceeded(message) && !isMessageRevoked(message);
|
|
13
|
+
const isCopyMessageSupported = message => isEligibleForToolbox(message) && COPYABLE_TEXT_TYPES.includes(message.contentType);
|
|
14
14
|
|
|
15
15
|
// All message types are supported, as long as the message is eligible.
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const isCopyMessageLinkSupported = message => isEligibleForToolbox(message);
|
|
17
|
+
const isRetrySupported = message => message.status === MessageStatus.Failed;
|
|
18
|
+
|
|
19
|
+
// Revoke is only available within 24h of a successful send.
|
|
20
|
+
const REVOKE_WINDOW_MS = 24 * 60 * 60 * 1000;
|
|
21
|
+
|
|
22
|
+
// Revoke is only available for messages sent by the current user.
|
|
23
|
+
// And not limited by message content type.
|
|
24
|
+
const isRevokeMessageSupported = (message, currentUserId) => isEligibleForToolbox(message) && !!currentUserId && message.sendID === currentUserId && Date.now() - (message.sendTime || message.createTime || 0) < REVOKE_WINDOW_MS;
|
|
18
25
|
export const getCopyableMessageText = message => {
|
|
19
26
|
if (message.contentType === MessageType.UrlTextMessage) {
|
|
20
27
|
return message.urlTextElem?.content ?? '';
|
|
21
28
|
}
|
|
22
29
|
return getMessageText(message);
|
|
23
30
|
};
|
|
24
|
-
export const
|
|
31
|
+
export const getMessageToolboxItems = (message, currentUserId) => {
|
|
25
32
|
if (message == null) {
|
|
26
33
|
return {};
|
|
27
34
|
}
|
|
28
35
|
const showCopyMessage = isCopyMessageSupported(message);
|
|
29
36
|
const showCopyMessageLink = isCopyMessageLinkSupported(message);
|
|
30
37
|
const showRetryMessage = isRetrySupported(message);
|
|
38
|
+
const showRevokeMessage = isRevokeMessageSupported(message, currentUserId);
|
|
31
39
|
return {
|
|
32
40
|
showCopyMessage,
|
|
33
41
|
showCopyMessageLink,
|
|
34
|
-
showRetryMessage
|
|
42
|
+
showRetryMessage,
|
|
43
|
+
showRevokeMessage
|
|
35
44
|
};
|
|
36
45
|
};
|
|
37
46
|
//# sourceMappingURL=messageToolbox.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessageStatus","MessageType","getMessageText","COPYABLE_TEXT_TYPES","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","
|
|
1
|
+
{"version":3,"names":["MessageStatus","MessageType","getMessageText","isMessageRevoked","COPYABLE_TEXT_TYPES","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","isMessageSucceeded","message","status","Failed","Sending","isEligibleForToolbox","isCopyMessageSupported","includes","contentType","isCopyMessageLinkSupported","isRetrySupported","REVOKE_WINDOW_MS","isRevokeMessageSupported","currentUserId","sendID","Date","now","sendTime","createTime","getCopyableMessageText","urlTextElem","content","getMessageToolboxItems","showCopyMessage","showCopyMessageLink","showRetryMessage","showRevokeMessage"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/messageToolbox.utils.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,WAAW,QAAQ,+BAA+B;AAE1E,SAASC,cAAc,QAAQ,qCAAkC;AACjE,SAASC,gBAAgB,QAAQ,gCAA6B;;AAE9D;AACA,MAAMC,mBAA6B,GAAG,CACpCH,WAAW,CAACI,WAAW,EACvBJ,WAAW,CAACK,aAAa,EACzBL,WAAW,CAACM,YAAY,EACxBN,WAAW,CAACO,cAAc,CAC3B;AAED,MAAMC,kBAAkB,GAAIC,OAAqB,IAC/CA,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACY,MAAM,IACvCF,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACa,OAAO;;AAE1C;AACA,MAAMC,oBAAoB,GAAIJ,OAAqB,IACjDD,kBAAkB,CAACC,OAAO,CAAC,IAAI,CAACP,gBAAgB,CAACO,OAAO,CAAC;AAE3D,MAAMK,sBAAsB,GAAIL,OAAqB,IACnDI,oBAAoB,CAACJ,OAAO,CAAC,IAC7BN,mBAAmB,CAACY,QAAQ,CAACN,OAAO,CAACO,WAAW,CAAC;;AAEnD;AACA,MAAMC,0BAA0B,GAAIR,OAAqB,IACvDI,oBAAoB,CAACJ,OAAO,CAAC;AAE/B,MAAMS,gBAAgB,GAAIT,OAAqB,IAC7CA,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACY,MAAM;;AAEzC;AACA,MAAMQ,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAE5C;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAC/BX,OAAqB,EACrBY,aAAsB,KAEtBR,oBAAoB,CAACJ,OAAO,CAAC,IAC7B,CAAC,CAACY,aAAa,IACfZ,OAAO,CAACa,MAAM,KAAKD,aAAa,IAChCE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIf,OAAO,CAACgB,QAAQ,IAAIhB,OAAO,CAACiB,UAAU,IAAI,CAAC,CAAC,GAAGP,gBAAgB;AAE/E,OAAO,MAAMQ,sBAAsB,GAAIlB,OAAqB,IAAa;EACvE,IAAIA,OAAO,CAACO,WAAW,KAAKhB,WAAW,CAACO,cAAc,EAAE;IACtD,OAAOE,OAAO,CAACmB,WAAW,EAAEC,OAAO,IAAI,EAAE;EAC3C;EACA,OAAO5B,cAAc,CAACQ,OAAO,CAAC;AAChC,CAAC;AAED,OAAO,MAAMqB,sBAAsB,GAAGA,CACpCrB,OAAsB,EACtBY,aAAsB,KACnB;EACH,IAAIZ,OAAO,IAAI,IAAI,EAAE;IACnB,OAAO,CAAC,CAAC;EACX;EAEA,MAAMsB,eAAe,GAAGjB,sBAAsB,CAACL,OAAO,CAAC;EACvD,MAAMuB,mBAAmB,GAAGf,0BAA0B,CAACR,OAAO,CAAC;EAC/D,MAAMwB,gBAAgB,GAAGf,gBAAgB,CAACT,OAAO,CAAC;EAClD,MAAMyB,iBAAiB,GAAGd,wBAAwB,CAACX,OAAO,EAAEY,aAAa,CAAC;EAE1E,OAAO;IACLU,eAAe;IACfC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { create } from 'zustand';
|
|
4
|
+
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
4
5
|
import { mergeMessages } from "../utils/message.js";
|
|
5
6
|
export const useMessageStore = create()((set, get) => ({
|
|
6
7
|
messages: [],
|
|
@@ -42,4 +43,12 @@ export const useMessageStore = create()((set, get) => ({
|
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
}));
|
|
46
|
+
export const markMessageRevoked = clientMsgID => {
|
|
47
|
+
const alreadyRevoked = useMessageStore.getState().messages.some(msg => msg.clientMsgID === clientMsgID && msg.contentType === MessageType.RevokeMessage);
|
|
48
|
+
if (alreadyRevoked) return;
|
|
49
|
+
useMessageStore.getState().updateOneMessage({
|
|
50
|
+
clientMsgID,
|
|
51
|
+
contentType: MessageType.RevokeMessage
|
|
52
|
+
});
|
|
53
|
+
};
|
|
45
54
|
//# sourceMappingURL=message.js.map
|