@droppii-org/chat-mobile 0.2.26 → 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/README.md +113 -0
- 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/index.js +3 -0
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/notification/backgroundStatus.js +15 -0
- package/lib/module/core/notification/backgroundStatus.js.map +1 -0
- package/lib/module/core/notification/index.js +5 -0
- package/lib/module/core/notification/index.js.map +1 -0
- package/lib/module/core/notification/pushToken.js +23 -0
- package/lib/module/core/notification/pushToken.js.map +1 -0
- package/lib/module/core/notification/useBackgroundStatusSync.js +16 -0
- package/lib/module/core/notification/useBackgroundStatusSync.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/hooks/useChatMessages.js +2 -1
- package/lib/module/hooks/useChatMessages.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.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/services/attachmentOrchestrator.js +2 -1
- package/lib/module/services/attachmentOrchestrator.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/module/utils/promise.js +14 -0
- package/lib/module/utils/promise.js.map +1 -0
- 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/index.d.ts +1 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -1
- package/lib/typescript/src/core/notification/backgroundStatus.d.ts +6 -0
- package/lib/typescript/src/core/notification/backgroundStatus.d.ts.map +1 -0
- package/lib/typescript/src/core/notification/index.d.ts +3 -0
- package/lib/typescript/src/core/notification/index.d.ts.map +1 -0
- package/lib/typescript/src/core/notification/pushToken.d.ts +14 -0
- package/lib/typescript/src/core/notification/pushToken.d.ts.map +1 -0
- package/lib/typescript/src/core/notification/useBackgroundStatusSync.d.ts +2 -0
- package/lib/typescript/src/core/notification/useBackgroundStatusSync.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/hooks/useChatMessages.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.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/services/attachmentOrchestrator.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/lib/typescript/src/utils/promise.d.ts +13 -0
- package/lib/typescript/src/utils/promise.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/messages/revokedMessage/index.tsx +23 -0
- package/src/core/index.ts +4 -0
- package/src/core/notification/backgroundStatus.ts +22 -0
- package/src/core/notification/index.ts +5 -0
- package/src/core/notification/pushToken.ts +24 -0
- package/src/core/notification/useBackgroundStatusSync.ts +18 -0
- package/src/core/useChatListener.ts +8 -1
- package/src/hooks/message/useSendMessage.ts +18 -1
- package/src/hooks/useChatMessages.ts +2 -1
- package/src/index.tsx +1 -0
- 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/services/attachmentOrchestrator.ts +2 -1
- 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
- package/src/utils/promise.ts +18 -0
|
@@ -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":";;AAAA,SACEA,UAAU,EACVC,WAAW,EACXC,mBAAmB,EACnBC,OAAO,EACPC,QAAQ,QACH,OAAO;AACd,SAASC,KAAK,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC3D,OAAOC,SAAS,MAAM,mCAAmC;AACzD,SAASC,OAAO,QAAQ,2BAAwB;AAChD,SAASC,KAAK,QAAQ,+BAAsB;AAC5C,SAASC,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SACEC,sBAAsB,EACtBC,sBAAsB,QACjB,2BAAwB;AAG/B,SAASC,qBAAqB,QAAQ,4BAAyB;AAE/D,SAASC,cAAc,QAAQ,0CAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOvE,OAAO,MAAMC,qBAAqB,gBAAGrB,UAAU,CAG7C,CAAC;EAAEsB,aAAa,GAAG,EAAE;EAAEC;AAAyB,CAAC,EAAEC,GAAG,KAAK;EAC3D,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGtB,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACuB,OAAO,EAAEC,UAAU,CAAC,GAAGxB,QAAQ,CAA2ByB,SAAS,CAAC;EAC3E,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG3B,QAAQ,CAAsB,IAAI,CAAC;EAC3D,MAAM4B,YAAY,GAAG7B,OAAO,CAC1B,MAAMW,sBAAsB,CAACa,OAAO,EAAEL,aAAa,CAAC,EACpD,CAACK,OAAO,EAAEL,aAAa,CACzB,CAAC;EACD,MAAM;IAAEW,YAAY;IAAEC;EAAc,CAAC,GAAGlB,cAAc,CAAC,CAAC;EAExD,MAAMmB,IAAI,GAAGlC,WAAW,CAAC,MAAM;IAC7ByB,UAAU,CAAC,KAAK,CAAC;IACjBE,UAAU,CAACC,SAAS,CAAC;IACrBE,OAAO,CAAC,IAAI,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMK,IAAI,GAAGnC,WAAW,CACtB,CAACoC,GAAiB,EAAEC,OAAqB,KAAK;IAC5C,MAAMC,mBAAmB,GACvBC,MAAM,CAACC,MAAM,CAAC3B,sBAAsB,CAACuB,GAAG,EAAEf,aAAa,CAAC,CAAC,CAACoB,MAAM,CAC9DC,OACF,CAAC,CAACC,MAAM,KAAK,CAAC;IAEhB,IAAIL,mBAAmB,EAAE;IAEzBX,UAAU,CAACS,GAAG,CAAC;IACfN,OAAO,CAACO,OAAO,CAAC;IAChBZ,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EACD,CAACJ,aAAa,CAChB,CAAC;EAEDpB,mBAAmB,CAACsB,GAAG,EAAE,OAAO;IAAEY,IAAI;IAAED;EAAK,CAAC,CAAC,EAAE,CAACC,IAAI,EAAED,IAAI,CAAC,CAAC;EAE9D,MAAMU,iBAAiB,GAAG5C,WAAW,CAAC,MAAM;IAC1C,IAAI,CAAC0B,OAAO,EAAE;IACd,MAAMmB,IAAI,GAAGjC,sBAAsB,CAACc,OAAO,CAAC;IAC5C,IAAImB,IAAI,EAAE;MACRtC,SAAS,CAACuC,SAAS,CAACD,IAAI,CAAC;MACzBrC,OAAO,CAACuC,KAAK,CAACC,IAAI,CAAC;QACjBC,KAAK,EAAExC,KAAK,CAAC,2BAA2B,CAAC;QACzCyC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IACAhB,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACR,OAAO,EAAEQ,IAAI,CAAC,CAAC;EAEnB,MAAMiB,qBAAqB,GAAGnD,WAAW,CAAC,MAAM;IAC9C,IAAI,CAAC0B,OAAO,EAAE;IACd;IACA,MAAM0B,eAAe,GAAG,GAAG1B,OAAO,CAAC2B,MAAM,IAAI3B,OAAO,CAAC4B,OAAO,IAAI5B,OAAO,CAAC6B,WAAW,IAAI7B,OAAO,CAAC8B,WAAW,IAAI,EAAE,EAAE;IAClHjD,SAAS,CAACuC,SAAS,CAACM,eAAe,CAAC;IACpC5C,OAAO,CAACuC,KAAK,CAACC,IAAI,CAAC;MACjBC,KAAK,EAAExC,KAAK,CAAC,gCAAgC,CAAC;MAC9CyC,KAAK,EAAE;IACT,CAAC,CAAC;IACFhB,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACR,OAAO,EAAEQ,IAAI,CAAC,CAAC;EAEnB,MAAMuB,kBAAkB,GAAGzD,WAAW,CAAC,MAAM;IAC3C,IAAI,CAAC0B,OAAO,EAAE;IACdM,YAAY,CAACN,OAAO,CAAC;IACrBQ,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACR,OAAO,EAAEQ,IAAI,EAAEF,YAAY,CAAC,CAAC;EAEjC,MAAM0B,mBAAmB,GAAG1D,WAAW,CAAC,YAAY;IAClD,IAAI,CAAC0B,OAAO,EAAE;IACdQ,IAAI,CAAC,CAAC;IACN,IAAI;MACF,MAAMD,aAAa,CAACP,OAAO,CAAC;MAC5BlB,OAAO,CAACuC,KAAK,CAACC,IAAI,CAAC;QACjBC,KAAK,EAAExC,KAAK,CAAC,iBAAiB,CAAC;QAC/ByC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOS,KAAU,EAAE;MACnBC,OAAO,CAACD,KAAK,CAAC,eAAe,EAAEA,KAAK,CAAC;MACrCnD,OAAO,CAACuC,KAAK,CAACC,IAAI,CAAC;QACjBC,KAAK,EAAExC,KAAK,CAAC,oBAAoB,CAAC;QAClCyC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACxB,OAAO,EAAEQ,IAAI,EAAED,aAAa,CAAC,CAAC;EAElC,IAAI,CAACT,OAAO,IAAI,CAACE,OAAO,IAAI,CAACG,IAAI,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,MAAMgC,UAAU,GAAGnC,OAAO,CAACoC,MAAM,KAAKzC,aAAa;EAEnD,oBACEF,KAAA,CAACf,KAAK;IACJoB,OAAO,EAAEA,OAAQ;IACjBuC,WAAW;IACXC,oBAAoB;IACpBC,aAAa,EAAC,MAAM;IACpBC,cAAc,EAAEhC,IAAK;IAAAiC,QAAA,gBAErBlD,IAAA,CAACZ,SAAS;MAAC+D,KAAK,EAAEC,MAAM,CAACC,QAAS;MAACC,OAAO,EAAErC;IAAK,CAAE,CAAC,eAEpDjB,IAAA,CAACH,qBAAqB;MACpBe,IAAI,EAAEA,IAAK;MACXgC,UAAU,EAAEA,UAAW;MACvBnC,OAAO,eACLT,IAAA,CAACP,iBAAiB;QAChBgB,OAAO,EAAEA,OAAQ;QACjBmC,UAAU,EAAEA,UAAW;QACvBW,aAAa,EAAE9C,OAAO,CAAC+C,QAAQ,IAAI/C,OAAO,CAACgD,UAAW;QACtDpD,wBAAwB,EAAEA;MAAyB,CACpD,CACF;MACDqD,OAAO,eACL1D,IAAA,CAACN,kBAAkB;QAAA,GACboB,YAAY;QAChB6C,aAAa,EAAEhC,iBAAkB;QACjCiC,iBAAiB,EAAE1B,qBAAsB;QACzC2B,cAAc,EAAErB,kBAAmB;QACnCsB,eAAe,EAAErB;MAAoB,CACtC;IACF,CACF,CAAC;EAAA,CACG,CAAC;AAEZ,CAAC,CAAC;AAEFtC,qBAAqB,CAAC4D,WAAW,GAAG,uBAAuB;AAE3D,MAAMX,MAAM,GAAG/D,UAAU,CAAC2E,MAAM,CAAC;EAC/BX,QAAQ,EAAE;IACRY,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","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":[]}
|
|
@@ -5,6 +5,7 @@ import { getAttachmentHandler } from "../types/attachmentHandler.js";
|
|
|
5
5
|
import { useConversationStore } from "../store/index.js";
|
|
6
6
|
import { useMessageStore } from "../store/message.js";
|
|
7
7
|
import { getAttachmentPriorityConfig } from "../config/attachment-priority.js";
|
|
8
|
+
import { allSettled } from "../utils/promise.js";
|
|
8
9
|
export let AttachmentOrchestratorService;
|
|
9
10
|
(function (_AttachmentOrchestratorService) {
|
|
10
11
|
async function sendPreparedAttachments(attachments, uploadedUrls, options = {
|
|
@@ -213,7 +214,7 @@ export let AttachmentOrchestratorService;
|
|
|
213
214
|
status: MessageStatus.Sending
|
|
214
215
|
});
|
|
215
216
|
}
|
|
216
|
-
const sendResults = await
|
|
217
|
+
const sendResults = await allSettled(allMessages.map(async m => {
|
|
217
218
|
const message = m;
|
|
218
219
|
const result = await OpenIMSDK.sendMessageNotOss({
|
|
219
220
|
recvID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OpenIMSDK","MessageStatus","getAttachmentHandler","useConversationStore","useMessageStore","getAttachmentPriorityConfig","AttachmentOrchestratorService","_AttachmentOrchestratorService","sendPreparedAttachments","attachments","uploadedUrls","options","strategy","result","success","sentAttachmentIds","failedAttachmentIds","errors","length","att","handler","type","validation","validate","valid","push","id","reason","error","msg","Error","message","validAttachments","filter","a","includes","console","log","payloads","uploadedUrl","payload","buildPayload","attachmentId","payloadCount","attachmentIds","map","p","mergedMsgId","sendMergedMessage","includeCaption","messageId","count","mergedMessageId","stack","undefined","_send","_caption","currentConversation","getState","getCurrentConversation","priorityConfig","enabled","order","categorizedPayloads","image","video","file","text","duration","videoPath","fileExtension","fileName","content","images","videos","files","texts","createMessageFromPayload","createVideoMessageByURL","createFileMessageByURL","createTextMessage","createImageMessageByURL","lastMsgId","allMessages","attachmentType","payloadsForType","mergeStrategy","messages","typeLabel","charAt","toUpperCase","slice","merged","createMergerMessage","messageList","title","summaryList","_","i","allPayloads","totalMessages","recvID","userID","groupID","m","pushNewMessage","status","Sending","sendResults","Promise","allSettled","sendMessageNotOss","deleteOneMessage","clientMsgID","serverMsgID","firstSendError","settled","value","updateOneMessage","Failed"],"sourceRoot":"../../../src","sources":["services/attachmentOrchestrator.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["OpenIMSDK","MessageStatus","getAttachmentHandler","useConversationStore","useMessageStore","getAttachmentPriorityConfig","allSettled","AttachmentOrchestratorService","_AttachmentOrchestratorService","sendPreparedAttachments","attachments","uploadedUrls","options","strategy","result","success","sentAttachmentIds","failedAttachmentIds","errors","length","att","handler","type","validation","validate","valid","push","id","reason","error","msg","Error","message","validAttachments","filter","a","includes","console","log","payloads","uploadedUrl","payload","buildPayload","attachmentId","payloadCount","attachmentIds","map","p","mergedMsgId","sendMergedMessage","includeCaption","messageId","count","mergedMessageId","stack","undefined","_send","_caption","currentConversation","getState","getCurrentConversation","priorityConfig","enabled","order","categorizedPayloads","image","video","file","text","duration","videoPath","fileExtension","fileName","content","images","videos","files","texts","createMessageFromPayload","createVideoMessageByURL","createFileMessageByURL","createTextMessage","createImageMessageByURL","lastMsgId","allMessages","attachmentType","payloadsForType","mergeStrategy","messages","typeLabel","charAt","toUpperCase","slice","merged","createMergerMessage","messageList","title","summaryList","_","i","allPayloads","totalMessages","recvID","userID","groupID","m","pushNewMessage","status","Sending","sendResults","sendMessageNotOss","deleteOneMessage","clientMsgID","serverMsgID","firstSendError","settled","value","updateOneMessage","Failed"],"sourceRoot":"../../../src","sources":["services/attachmentOrchestrator.ts"],"mappings":"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","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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","mergeMessages","useMessageStore","set","get","messages","hasMoreEarlier","hasMoreNewer","setMessages","hasMore","pushNewMessage","message","state","updateOneMessage","tmpList","idx","findIndex","msg","clientMsgID","deleteOneMessage","filter","reset"],"sourceRoot":"../../../src","sources":["store/message.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;
|
|
1
|
+
{"version":3,"names":["create","MessageType","mergeMessages","useMessageStore","set","get","messages","hasMoreEarlier","hasMoreNewer","setMessages","hasMore","pushNewMessage","message","state","updateOneMessage","tmpList","idx","findIndex","msg","clientMsgID","deleteOneMessage","filter","reset","markMessageRevoked","alreadyRevoked","getState","some","contentType","RevokeMessage"],"sourceRoot":"../../../src","sources":["store/message.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,WAAW,QAAQ,+BAA+B;AAG3D,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,OAAO,MAAMC,eAAe,GAAGH,MAAM,CAAe,CAAC,CAAC,CAACI,GAAG,EAAEC,GAAG,MAAM;EACnEC,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,KAAK;EACrBC,YAAY,EAAE,KAAK;EAEnBC,WAAW,EAAEA,CAACH,QAAQ,EAAEI,OAAO,KAAK;IAClCN,GAAG,CAAC;MAAEE,QAAQ;MAAEC,cAAc,EAAEG;IAAQ,CAAC,CAAC;EAC5C,CAAC;EAEDC,cAAc,EAAGC,OAAoB,IAAK;IACxCR,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEJ,aAAa,CAACW,KAAK,CAACP,QAAQ,EAAE,CAACM,OAAO,CAAiB;IACnE,CAAC,CAAC,CAAC;EACL,CAAC;EAEDE,gBAAgB,EAAGF,OAAO,IAAK;IAC7B,MAAMG,OAAO,GAAG,CAAC,GAAGV,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACnC,MAAMU,GAAG,GAAGD,OAAO,CAACE,SAAS,CAC1BC,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKP,OAAO,CAACO,WACvC,CAAC;IACD,IAAIH,GAAG,GAAG,CAAC,EAAE;IACbD,OAAO,CAACC,GAAG,CAAC,GAAG;MAAE,GAAGD,OAAO,CAACC,GAAG,CAAE;MAAE,GAAGJ;IAAQ,CAAiB;IAC/DR,GAAG,CAAC;MAAEE,QAAQ,EAAES;IAAQ,CAAC,CAAC;EAC5B,CAAC;EAEDK,gBAAgB,EAAGD,WAAmB,IAAK;IACzCf,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEO,KAAK,CAACP,QAAQ,CAACe,MAAM,CAAEH,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKA,WAAW;IAC1E,CAAC,CAAC,CAAC;EACL,CAAC;EAEDG,KAAK,EAAEA,CAAA,KAAM;IACXlB,GAAG,CAAC;MACFE,QAAQ,EAAE,EAAE;MACZC,cAAc,EAAE,KAAK;MACrBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC,CAAC;AAEH,OAAO,MAAMe,kBAAkB,GAAIJ,WAAmB,IAAK;EACzD,MAAMK,cAAc,GAAGrB,eAAe,CACnCsB,QAAQ,CAAC,CAAC,CACVnB,QAAQ,CAACoB,IAAI,CACXR,GAAG,IACFA,GAAG,CAACC,WAAW,KAAKA,WAAW,IAC/BD,GAAG,CAACS,WAAW,KAAK1B,WAAW,CAAC2B,aACpC,CAAC;EACH,IAAIJ,cAAc,EAAE;EAEpBrB,eAAe,CACZsB,QAAQ,CAAC,CAAC,CACVX,gBAAgB,CAAC;IAAEK,WAAW;IAAEQ,WAAW,EAAE1B,WAAW,CAAC2B;EAAc,CAAC,CAAC;AAC9E,CAAC","ignoreList":[]}
|
|
@@ -33,12 +33,14 @@ const i18nKey = {
|
|
|
33
33
|
'chat:copy_message_success': 'Sao chép tin nhắn thành công',
|
|
34
34
|
'chat:copy_message_link_success': 'Sao chép đường dẫn tin nhắn thành công',
|
|
35
35
|
'chat:retry_message': 'Gửi lại',
|
|
36
|
+
'chat:revoke_message': 'Thu hồi',
|
|
36
37
|
'msg_type_image': '[Hình ảnh]',
|
|
37
38
|
'msg_type_voice': '[Tin nhắn thoại]',
|
|
38
39
|
'msg_type_video': '[Video]',
|
|
39
40
|
'msg_type_file': '[File đính kèm]',
|
|
40
41
|
'msg_type_link': '[Liên kết]',
|
|
41
42
|
'msg_type_revoke': 'Đã thu hồi tin nhắn',
|
|
43
|
+
'chat:revoked_by_sender': '{{sender}} đã thu hồi tin nhắn',
|
|
42
44
|
'start': 'Bắt đầu',
|
|
43
45
|
'restart': 'Bắt đầu lại'
|
|
44
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,mBAAmB,EAAE,mBAAmB;EACxC,wBAAwB,EAAE,6BAA6B;EACvD,2BAA2B,EAAE,8BAA8B;EAC3D,gCAAgC,EAAE,wCAAwC;EAC1E,oBAAoB,EAAE,SAAS;EAC/B,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,mBAAmB,EAAE,mBAAmB;EACxC,wBAAwB,EAAE,6BAA6B;EACvD,2BAA2B,EAAE,8BAA8B;EAC3D,gCAAgC,EAAE,wCAAwC;EAC1E,oBAAoB,EAAE,SAAS;EAC/B,qBAAqB,EAAE,SAAS;EAChC,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,wBAAwB,EAAE,gCAAgC;EAC1D,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ export const generateContentBasedOnMessageType = (contentType, plainText) => {
|
|
|
36
36
|
case MessageType.UrlTextMessage:
|
|
37
37
|
return trans('msg_type_link');
|
|
38
38
|
case MessageType.RevokeMessage:
|
|
39
|
-
return trans('
|
|
39
|
+
return trans('msg_type_revoke');
|
|
40
40
|
default:
|
|
41
41
|
return '';
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessageType","SessionType","trans","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","generateContentBasedOnMessageType","contentType","plainText","TextMessage","QuoteMessage","LogTextMessage","PictureMessage","VoiceMessage","VideoMessage","FileMessage","UrlTextMessage","RevokeMessage"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,WAAW,EACXC,WAAW,QAEN,+BAA+B;AACtC,SAASC,KAAK,QAAQ,yBAAgB;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKX,WAAW,CAACe,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKX,WAAW,CAACgB,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtB,CAAC,EAAEC,CAAC,KACtCF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CACtC,CAAC;EACD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAC/CC,WAAwB,EACxBC,SAAkB,KACf;EACH,QAAQD,WAAW;IACjB,KAAK5B,WAAW,CAAC8B,WAAW;IAC5B,KAAK9B,WAAW,CAAC+B,YAAY;IAC7B,KAAK/B,WAAW,CAACgC,cAAc;MAC7B,OAAOH,SAAS,IAAI,EAAE;IACxB,KAAK7B,WAAW,CAACiC,cAAc;MAC7B,OAAO/B,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACkC,YAAY;MAC3B,OAAOhC,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACmC,YAAY;MAC3B,OAAOjC,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACoC,WAAW;MAC1B,OAAOlC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAKF,WAAW,CAACqC,cAAc;MAC7B,OAAOnC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAKF,WAAW,CAACsC,aAAa;MAC5B,OAAOpC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"names":["MessageType","SessionType","trans","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","generateContentBasedOnMessageType","contentType","plainText","TextMessage","QuoteMessage","LogTextMessage","PictureMessage","VoiceMessage","VideoMessage","FileMessage","UrlTextMessage","RevokeMessage"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,WAAW,EACXC,WAAW,QAEN,+BAA+B;AACtC,SAASC,KAAK,QAAQ,yBAAgB;AAEtC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,CAAmB,EACnBC,CAAmB,KAChB;EACH,IAAID,CAAC,CAACE,QAAQ,KAAKD,CAAC,CAACC,QAAQ,EAAE,OAAOF,CAAC,CAACE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;EAEzD,MAAMC,QAAQ,GACZH,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,iBAAiB,GACjCL,CAAC,CAACI,aAAa,GACfJ,CAAC,CAACK,iBAAiB;EACzB,MAAMC,QAAQ,GACZL,CAAC,CAACG,aAAa,GAAGH,CAAC,CAACI,iBAAiB,GACjCJ,CAAC,CAACG,aAAa,GACfH,CAAC,CAACI,iBAAiB;EAEzB,OAAOC,QAAQ,GAAGH,QAAQ;AAC5B,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAKX,WAAW,CAACe,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAKX,WAAW,CAACgB,YAAY,GACtC,IAAI,GACJ,IAAI;EAEZ,OAAO,CAACF,MAAM,EAAEF,QAAQ,EAAEC,UAAU,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,GAAqC,IAAK;EACzE,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtB,CAAC,EAAEC,CAAC,KACtCF,mBAAmB,CAACmB,GAAG,CAAClB,CAAC,CAAC,EAAGkB,GAAG,CAACjB,CAAC,CAAE,CACtC,CAAC;EACD,OAAO;IAAEiB,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAC/CC,WAAwB,EACxBC,SAAkB,KACf;EACH,QAAQD,WAAW;IACjB,KAAK5B,WAAW,CAAC8B,WAAW;IAC5B,KAAK9B,WAAW,CAAC+B,YAAY;IAC7B,KAAK/B,WAAW,CAACgC,cAAc;MAC7B,OAAOH,SAAS,IAAI,EAAE;IACxB,KAAK7B,WAAW,CAACiC,cAAc;MAC7B,OAAO/B,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACkC,YAAY;MAC3B,OAAOhC,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACmC,YAAY;MAC3B,OAAOjC,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAKF,WAAW,CAACoC,WAAW;MAC1B,OAAOlC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAKF,WAAW,CAACqC,cAAc;MAC7B,OAAOnC,KAAK,CAAC,eAAe,CAAC;IAC/B,KAAKF,WAAW,CAACsC,aAAa;MAC5B,OAAOpC,KAAK,CAAC,iBAAiB,CAAC;IACjC;MACE,OAAO,EAAE;EACb;AACF,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import { MessageType, PeerType } from '@droppii/openim-rn-client-sdk';
|
|
8
8
|
import { DChatMessageType } from "../types/message.js";
|
|
9
9
|
import { formatDuration } from "./dateTimeUtils.js";
|
|
10
|
+
import { trans } from "../translation/index.js";
|
|
11
|
+
export const isMessageRevoked = message => message.contentType === MessageType.RevokeMessage;
|
|
10
12
|
export const extractTextContent = message => {
|
|
11
13
|
if (message.textElem?.content) return message.textElem.content;
|
|
12
14
|
try {
|
|
@@ -79,6 +81,8 @@ export const getMessagePreview = message => {
|
|
|
79
81
|
case MessageType.AtTextMessage:
|
|
80
82
|
case MessageType.QuoteMessage:
|
|
81
83
|
return extractTextContent(message);
|
|
84
|
+
case MessageType.RevokeMessage:
|
|
85
|
+
return trans('msg_type_revoke');
|
|
82
86
|
default:
|
|
83
87
|
return '[Tin nhắn không được hỗ trợ]';
|
|
84
88
|
}
|
|
@@ -87,19 +91,10 @@ export const getLastMessageText = (message, currentUserId, conversation) => {
|
|
|
87
91
|
if (!message) return '';
|
|
88
92
|
const preview = getMessagePreview(message);
|
|
89
93
|
if (!preview) return '';
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Add sender nickname for incoming messages
|
|
97
|
-
if (message.senderNickname) {
|
|
98
|
-
return `${message.senderNickname}: ${preview}`;
|
|
99
|
-
}
|
|
100
|
-
if (conversation?.peerType === PeerType.Bot) {
|
|
101
|
-
return `${conversation?.showName || ''}: ${preview}`;
|
|
102
|
-
}
|
|
103
|
-
return preview;
|
|
94
|
+
const sender = currentUserId && message.sendID === currentUserId ? 'Bạn' : message.senderNickname || (conversation?.peerType === PeerType.Bot ? conversation?.showName || '' : undefined);
|
|
95
|
+
if (!sender) return preview;
|
|
96
|
+
return isMessageRevoked(message) ? trans('chat:revoked_by_sender', {
|
|
97
|
+
sender
|
|
98
|
+
}) : `${sender}: ${preview}`;
|
|
104
99
|
};
|
|
105
100
|
//# sourceMappingURL=messageUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessageType","PeerType","DChatMessageType","formatDuration","
|
|
1
|
+
{"version":3,"names":["MessageType","PeerType","DChatMessageType","formatDuration","trans","isMessageRevoked","message","contentType","RevokeMessage","extractTextContent","textElem","content","parsed","JSON","parse","getMessagePreview","CustomMessage","data","dataType","type","Link","linkText","title","Order","orderCode","code","TextMessage","PictureMessage","VideoMessage","videoData","videoElem","duration","durationStr","FileMessage","fileData","fileName","name","MergeMessage","mergeData","mergeElem","multiMessage","imageCount","filter","msg","length","UrlTextMessage","urlText","urlTextElem","urls","AtTextMessage","QuoteMessage","getLastMessageText","currentUserId","conversation","preview","sender","sendID","senderNickname","peerType","Bot","showName","undefined"],"sourceRoot":"../../../src","sources":["utils/messageUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Promise.allSettled polyfill — the RN/Hermes target for this app doesn't
|
|
5
|
+
* ship it, so a rejection would otherwise short-circuit Promise.all.
|
|
6
|
+
*/
|
|
7
|
+
export const allSettled = promises => Promise.all(promises.map(p => Promise.resolve(p).then(value => ({
|
|
8
|
+
status: 'fulfilled',
|
|
9
|
+
value
|
|
10
|
+
})).catch(reason => ({
|
|
11
|
+
status: 'rejected',
|
|
12
|
+
reason
|
|
13
|
+
}))));
|
|
14
|
+
//# sourceMappingURL=promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["allSettled","promises","Promise","all","map","p","resolve","then","value","status","catch","reason"],"sourceRoot":"../../../src","sources":["utils/promise.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA,OAAO,MAAMA,UAAU,GACrBC,QAAyB,IAEzBC,OAAO,CAACC,GAAG,CACTF,QAAQ,CAACG,GAAG,CAAEC,CAAC,IACbH,OAAO,CAACI,OAAO,CAACD,CAAC,CAAC,CACfE,IAAI,CAAEC,KAAK,KAAM;EAAEC,MAAM,EAAE,WAAoB;EAAED;AAAM,CAAC,CAAC,CAAC,CAC1DE,KAAK,CAAEC,MAAM,KAAM;EAAEF,MAAM,EAAE,UAAmB;EAAEE;AAAO,CAAC,CAAC,CAChE,CACF,CAA8D","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/revokedMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,cAAc,uDAAyB,sBAAsB,iCAaxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAMjE,cAAc,gBAAgB,CAAC;AAE/B,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,kBAAkB,SAUtD,CAAC;AAEF,eAAO,MAAM,UAAU,YAItB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AppStateStatus } from 'react-native';
|
|
2
|
+
export declare const syncAppBackgroundStatus: (isBackground: boolean) => Promise<void>;
|
|
3
|
+
export declare const registerBackgroundStatusResolver: (resolver: (state: AppStateStatus) => boolean) => void;
|
|
4
|
+
/** @internal used by useBackgroundStatusSync, not part of the public surface */
|
|
5
|
+
export declare const resolveIsBackground: (state: AppStateStatus) => boolean;
|
|
6
|
+
//# sourceMappingURL=backgroundStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgroundStatus.d.ts","sourceRoot":"","sources":["../../../../../src/core/notification/backgroundStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,uBAAuB,GAClC,cAAc,OAAO,KACpB,OAAO,CAAC,IAAI,CAEd,CAAC;AAMF,eAAO,MAAM,gCAAgC,GAC3C,UAAU,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,KAC3C,IAEF,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,GAAI,OAAO,cAAc,KAAG,OAC1C,CAAC"}
|