@droppii-org/chat-mobile 0.2.27 → 0.2.29
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/ThreadCard/MuteThread.js +86 -0
- package/lib/module/components/ThreadCard/MuteThread.js.map +1 -0
- package/lib/module/components/ThreadCard/ThreadCard.js +93 -73
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/components/messages/revokedMessage/index.js +22 -0
- package/lib/module/components/messages/revokedMessage/index.js.map +1 -0
- package/lib/module/config/uploadLimits.js +1 -1
- 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/useMuteConversation.js +34 -0
- package/lib/module/hooks/useMuteConversation.js.map +1 -0
- 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 +29 -56
- 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 +22 -11
- 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 +10 -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/device.js +1 -1
- package/lib/module/utils/device.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/ThreadCard/MuteThread.d.ts +10 -0
- package/lib/typescript/src/components/ThreadCard/MuteThread.d.ts.map +1 -0
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.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/hooks/useMuteConversation.d.ts +6 -0
- package/lib/typescript/src/hooks/useMuteConversation.d.ts.map +1 -0
- 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 -9
- 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/ThreadCard/MuteThread.tsx +100 -0
- package/src/components/ThreadCard/ThreadCard.tsx +104 -71
- package/src/components/messages/revokedMessage/index.tsx +23 -0
- package/src/config/uploadLimits.ts +1 -1
- package/src/core/useChatListener.ts +8 -1
- package/src/hooks/message/useSendMessage.ts +18 -1
- package/src/hooks/useMuteConversation.ts +44 -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 +35 -62
- package/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx +47 -10
- package/src/screens/chat-detail/messageToolbox/messageToolbox.utils.ts +31 -14
- package/src/store/message.ts +17 -1
- package/src/translation/resources/i18n.ts +11 -0
- package/src/types/chat.ts +3 -1
- package/src/utils/conversation.ts +1 -1
- package/src/utils/device.ts +1 -1
- package/src/utils/messageUtils.ts +18 -13
|
@@ -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,46 @@
|
|
|
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
11
|
showCopyMessageLink,
|
|
11
12
|
showRetryMessage,
|
|
13
|
+
showRevokeMessage,
|
|
12
14
|
onCopyMessage,
|
|
13
15
|
onCopyMessageLink,
|
|
14
|
-
onRetryMessage
|
|
16
|
+
onRetryMessage,
|
|
17
|
+
onRevokeMessage
|
|
15
18
|
}) => {
|
|
16
|
-
if (!showCopyMessage && !showCopyMessageLink && !showRetryMessage) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
19
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
20
20
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
provider: "DroppiiNew",
|
|
46
|
-
size: 24,
|
|
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
|
-
})
|
|
21
|
+
children: [/*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
22
|
+
icon: "copy-o",
|
|
23
|
+
color: KColors.gray.dark,
|
|
24
|
+
label: trans('chat:copy_message'),
|
|
25
|
+
visible: showCopyMessage,
|
|
26
|
+
onPress: onCopyMessage
|
|
27
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
28
|
+
icon: "link-o",
|
|
29
|
+
color: KColors.gray.dark,
|
|
30
|
+
label: trans('chat:copy_message_link'),
|
|
31
|
+
visible: showCopyMessageLink,
|
|
32
|
+
onPress: onCopyMessageLink
|
|
33
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
34
|
+
icon: "arrow-reload-o",
|
|
35
|
+
color: KColors.danger.normal,
|
|
36
|
+
label: trans('chat:retry_message'),
|
|
37
|
+
visible: showRetryMessage,
|
|
38
|
+
onPress: onRetryMessage
|
|
39
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
40
|
+
icon: "trash-alt-o-1",
|
|
41
|
+
color: KColors.danger.normal,
|
|
42
|
+
label: trans('chat:revoke_message'),
|
|
43
|
+
visible: showRevokeMessage,
|
|
44
|
+
onPress: onRevokeMessage
|
|
72
45
|
})]
|
|
73
46
|
});
|
|
74
47
|
});
|
|
@@ -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","showCopyMessageLink","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,mBAAmB;EACnBC,gBAAgB;EAChBC,iBAAiB;EACjBC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC;AACuB,CAAC,KAAK;EAC7B,oBACET,KAAA,CAACR,UAAU,CAACkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,gBAClChB,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEvB,OAAO,CAACwB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAExB,KAAK,CAAC,mBAAmB,CAAE;MAClCyB,OAAO,EAAElB,eAAgB;MACzBmB,OAAO,EAAEf;IAAc,CACxB,CAAC,eAEFR,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEvB,OAAO,CAACwB,IAAI,CAACC,IAAK;MACzBC,KAAK,EAAExB,KAAK,CAAC,wBAAwB,CAAE;MACvCyB,OAAO,EAAEjB,mBAAoB;MAC7BkB,OAAO,EAAEd;IAAkB,CAC5B,CAAC,eAEFT,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,gBAAgB;MACrBC,KAAK,EAAEvB,OAAO,CAAC6B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAExB,KAAK,CAAC,oBAAoB,CAAE;MACnCyB,OAAO,EAAEhB,gBAAiB;MAC1BiB,OAAO,EAAEb;IAAe,CACzB,CAAC,eAEFV,IAAA,CAACF,kBAAkB;MACjBmB,IAAI,EAAC,eAAe;MACpBC,KAAK,EAAEvB,OAAO,CAAC6B,MAAM,CAACC,MAAO;MAC7BJ,KAAK,EAAExB,KAAK,CAAC,qBAAqB,CAAE;MACpCyB,OAAO,EAAEf,iBAAkB;MAC3BgB,OAAO,EAAEZ;IAAgB,CAC1B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAEDR,kBAAkB,CAACuB,WAAW,GAAG,oBAAoB;AAErD,MAAMZ,MAAM,GAAGrB,UAAU,CAACkC,MAAM,CAAC;EAC/BZ,IAAI,EAAE;IACJa,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAEjC,aAAa,CAAC,QAAQ,CAAC;IACxCkC,YAAY,EAAElC,aAAa,CAAC,MAAM,CAAC;IACnCmC,eAAe,EAAEpC,OAAO,CAACqC,KAAK;IAC9BC,WAAW,EAAEtC,OAAO,CAACuC,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,EAAEhD,aAAa,CAAC,MAAM,CAAC;IACxCiC,eAAe,EAAEjC,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,47 @@
|
|
|
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: DMessageItem): boolean =>
|
|
17
|
+
// isEligibleForToolbox(message);
|
|
18
|
+
|
|
19
|
+
const isRetrySupported = message => message.status === MessageStatus.Failed;
|
|
20
|
+
|
|
21
|
+
// Revoke is only available within 24h of a successful send.
|
|
22
|
+
const REVOKE_WINDOW_MS = 24 * 60 * 60 * 1000;
|
|
23
|
+
|
|
24
|
+
// Revoke is only available for messages sent by the current user.
|
|
25
|
+
// And not limited by message content type.
|
|
26
|
+
const isRevokeMessageSupported = (message, currentUserId) => isEligibleForToolbox(message) && !!currentUserId && message.sendID === currentUserId && Date.now() - (message.sendTime || message.createTime || 0) < REVOKE_WINDOW_MS;
|
|
18
27
|
export const getCopyableMessageText = message => {
|
|
19
28
|
if (message.contentType === MessageType.UrlTextMessage) {
|
|
20
29
|
return message.urlTextElem?.content ?? '';
|
|
21
30
|
}
|
|
22
31
|
return getMessageText(message);
|
|
23
32
|
};
|
|
24
|
-
export const
|
|
33
|
+
export const getMessageToolboxItems = (message, currentUserId) => {
|
|
25
34
|
if (message == null) {
|
|
26
35
|
return {};
|
|
27
36
|
}
|
|
28
37
|
const showCopyMessage = isCopyMessageSupported(message);
|
|
29
|
-
const showCopyMessageLink = isCopyMessageLinkSupported(message);
|
|
38
|
+
// const showCopyMessageLink = isCopyMessageLinkSupported(message);
|
|
30
39
|
const showRetryMessage = isRetrySupported(message);
|
|
40
|
+
const showRevokeMessage = isRevokeMessageSupported(message, currentUserId);
|
|
31
41
|
return {
|
|
32
42
|
showCopyMessage,
|
|
33
|
-
showCopyMessageLink,
|
|
34
|
-
showRetryMessage
|
|
43
|
+
// showCopyMessageLink,
|
|
44
|
+
showRetryMessage,
|
|
45
|
+
showRevokeMessage
|
|
35
46
|
};
|
|
36
47
|
};
|
|
37
48
|
//# 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","isRetrySupported","REVOKE_WINDOW_MS","isRevokeMessageSupported","currentUserId","sendID","Date","now","sendTime","createTime","getCopyableMessageText","urlTextElem","content","getMessageToolboxItems","showCopyMessage","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;AACA;;AAEA,MAAMC,gBAAgB,GAAIR,OAAqB,IAC7CA,OAAO,CAACC,MAAM,KAAKX,aAAa,CAACY,MAAM;;AAEzC;AACA,MAAMO,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAE5C;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAC/BV,OAAqB,EACrBW,aAAsB,KAEtBP,oBAAoB,CAACJ,OAAO,CAAC,IAC7B,CAAC,CAACW,aAAa,IACfX,OAAO,CAACY,MAAM,KAAKD,aAAa,IAChCE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAId,OAAO,CAACe,QAAQ,IAAIf,OAAO,CAACgB,UAAU,IAAI,CAAC,CAAC,GAAGP,gBAAgB;AAE/E,OAAO,MAAMQ,sBAAsB,GAAIjB,OAAqB,IAAa;EACvE,IAAIA,OAAO,CAACO,WAAW,KAAKhB,WAAW,CAACO,cAAc,EAAE;IACtD,OAAOE,OAAO,CAACkB,WAAW,EAAEC,OAAO,IAAI,EAAE;EAC3C;EACA,OAAO3B,cAAc,CAACQ,OAAO,CAAC;AAChC,CAAC;AAED,OAAO,MAAMoB,sBAAsB,GAAGA,CACpCpB,OAAsB,EACtBW,aAAsB,KACnB;EACH,IAAIX,OAAO,IAAI,IAAI,EAAE;IACnB,OAAO,CAAC,CAAC;EACX;EAEA,MAAMqB,eAAe,GAAGhB,sBAAsB,CAACL,OAAO,CAAC;EACvD;EACA,MAAMsB,gBAAgB,GAAGd,gBAAgB,CAACR,OAAO,CAAC;EAClD,MAAMuB,iBAAiB,GAAGb,wBAAwB,CAACV,OAAO,EAAEW,aAAa,CAAC;EAE1E,OAAO;IACLU,eAAe;IACf;IACAC,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
|
|
@@ -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,22 @@ 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',
|
|
44
|
+
'chat:mute_action': 'Tắt thông báo',
|
|
45
|
+
'chat:unmute_action': 'Bật thông báo',
|
|
46
|
+
'chat:mute_confirm_title': 'Tắt thông báo',
|
|
47
|
+
'chat:mute_confirm_desc': 'Bạn có thể bỏ lỡ tin nhắn quan trọng nếu tắt thông báo! Bạn có chắc chắn muốn tắt thông báo?',
|
|
48
|
+
'chat:mute_confirm_primary': 'Tắt thông báo',
|
|
49
|
+
'chat:mute_confirm_secondary': 'Quay lại',
|
|
50
|
+
'chat:mute_toast_success': 'Đã tắt thông báo',
|
|
51
|
+
'chat:unmute_toast_success': 'Đã bật thông báo',
|
|
42
52
|
'start': 'Bắt đầu',
|
|
43
53
|
'restart': 'Bắt đầu lại'
|
|
44
54
|
};
|
|
@@ -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,kBAAkB,EAAE,eAAe;EACnC,oBAAoB,EAAE,eAAe;EACrC,yBAAyB,EAAE,eAAe;EAC1C,wBAAwB,EACtB,8FAA8F;EAChG,2BAA2B,EAAE,eAAe;EAC5C,6BAA6B,EAAE,UAAU;EACzC,yBAAyB,EAAE,kBAAkB;EAC7C,2BAA2B,EAAE,kBAAkB;EAC/C,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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ImagePicker","pick","pickDocument","types","documentTypes","isErrorWithCode","errorCodes","keepLocalCopy","check","request","openSettings","PERMISSIONS","RESULTS","Alert","Platform","PHOTO_PERMISSION","select","ios","IOS","PHOTO_LIBRARY","android","Number","Version","ANDROID","READ_MEDIA_IMAGES","READ_EXTERNAL_STORAGE","default","checkPhotoPermission","result","GRANTED","LIMITED","DENIED","req","BLOCKED","UNAVAILABLE","alert","text","style","onPress","DeviceUtils","openImagePicker","multiple","hasPermission","openPicker","mediaType","compressImageQuality","forceJpg","images","Array","isArray","console","log","count","length","map","img","filename","size","width","height","error","code","openVideoPicker","videos","vid","duration","openFilePicker","results","allowMultiSelection","type","allFiles","mode","copies","files","r","uri","fileName","name","destination","i","decodeURIComponent","status","localUri","mimeType","OPERATION_CANCELED"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,gCAAgC;AACxD,SACEC,IAAI,IAAIC,YAAY,EACpBC,KAAK,IAAIC,aAAa,EACtBC,eAAe,EACfC,UAAU,EACVC,aAAa,QACR,gCAAgC;AACvC,SACEC,KAAK,EACLC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,OAAO,QAEF,0BAA0B;AACjC,SAASC,KAAK,EAAEC,QAAQ,QAAQ,cAAc;AAE9C,MAAMC,gBAA4B,GAAGD,QAAQ,CAACE,MAAM,CAAC;EACnDC,GAAG,EAAEN,WAAW,CAACO,GAAG,CAACC,aAAa;EAClCC,OAAO,EACLC,MAAM,CAACP,QAAQ,CAACQ,OAAO,CAAC,IAAI,EAAE,GAC1BX,WAAW,CAACY,OAAO,CAACC,iBAAiB,GACrCb,WAAW,CAACY,OAAO,CAACE,qBAAqB;EAC/CC,OAAO,EAAEf,WAAW,CAACO,GAAG,CAACC;AAC3B,CAAC,CAAC;AAEF,MAAMQ,oBAAoB,GAAG,MAAAA,CAAA,KAA8B;EACzD,MAAMC,MAAM,GAAG,MAAMpB,KAAK,CAACO,gBAAgB,CAAC;EAC5C,IAAIa,MAAM,KAAKhB,OAAO,CAACiB,OAAO,IAAID,MAAM,KAAKhB,OAAO,CAACkB,OAAO,EAAE,OAAO,IAAI;EACzE,IAAIF,MAAM,KAAKhB,OAAO,CAACmB,MAAM,EAAE;IAC7B,MAAMC,GAAG,GAAG,MAAMvB,OAAO,CAACM,gBAAgB,CAAC;IAC3C,OAAOiB,GAAG,KAAKpB,OAAO,CAACiB,OAAO,IAAIG,GAAG,KAAKpB,OAAO,CAACkB,OAAO;EAC3D;EACA,IAAIF,MAAM,KAAKhB,OAAO,CAACqB,OAAO,IAAIL,MAAM,KAAKhB,OAAO,CAACsB,WAAW,EAAE;IAChErB,KAAK,CAACsB,KAAK,CACT,oBAAoB,EACpB,4DAA4D,EAC5D,CACE;MAAEC,IAAI,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAS,CAAC,EAChC;MAAED,IAAI,EAAE,YAAY;MAAEE,OAAO,EAAEA,CAAA,KAAM5B,YAAY,CAAC;IAAE,CAAC,CAEzD,CAAC;IACD,OAAO,KAAK;EACd;EACA,OAAO,KAAK;AACd,CAAC;AASD,MAAM6B,WAAW,GAAG;EAClBC,eAAe,EAAE,MAAAA,CAAOC,QAAiB,GAAG,KAAK,KAAK;IACpD,MAAMC,aAAa,GAAG,MAAMf,oBAAoB,CAAC,CAAC;IAClD,IAAI,CAACe,aAAa,EAAE,OAAO,IAAI;IAC/B,IAAI;MACF,MAAMd,MAAM,GAAG,MAAM5B,WAAW,CAAC2C,UAAU,CAAC;QAC1C;QACAC,SAAS,EAAE,KAAK;QAChBC,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"names":["ImagePicker","pick","pickDocument","types","documentTypes","isErrorWithCode","errorCodes","keepLocalCopy","check","request","openSettings","PERMISSIONS","RESULTS","Alert","Platform","PHOTO_PERMISSION","select","ios","IOS","PHOTO_LIBRARY","android","Number","Version","ANDROID","READ_MEDIA_IMAGES","READ_EXTERNAL_STORAGE","default","checkPhotoPermission","result","GRANTED","LIMITED","DENIED","req","BLOCKED","UNAVAILABLE","alert","text","style","onPress","DeviceUtils","openImagePicker","multiple","hasPermission","openPicker","mediaType","compressImageQuality","forceJpg","images","Array","isArray","console","log","count","length","map","img","filename","size","width","height","error","code","openVideoPicker","videos","vid","duration","openFilePicker","results","allowMultiSelection","type","allFiles","mode","copies","files","r","uri","fileName","name","destination","i","decodeURIComponent","status","localUri","mimeType","OPERATION_CANCELED"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":"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","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,10 @@
|
|
|
1
|
+
import type { SwipeableMethods } from 'react-native-gesture-handler/ReanimatedSwipeable';
|
|
2
|
+
import { type ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
3
|
+
interface MuteThreadProps {
|
|
4
|
+
isMuted: boolean;
|
|
5
|
+
conversation?: ConversationItem;
|
|
6
|
+
swipeableMethods: SwipeableMethods;
|
|
7
|
+
}
|
|
8
|
+
export declare const MuteThread: import("react").MemoExoticComponent<({ isMuted, conversation, swipeableMethods }: MuteThreadProps) => import("react").JSX.Element>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=MuteThread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MuteThread.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/MuteThread.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAKzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,eAAO,MAAM,UAAU,oFACyB,eAAe,iCAkF9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/ThreadCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ThreadCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/ThreadCard.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAgB1D,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,qBAAqB,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5E;AAED,QAAA,MAAM,UAAU,0DAA4B,eAAe,iCAiJzD,CAAC;AAIH,eAAe,UAAU,CAAC"}
|
|
@@ -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":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,YAgF3B,CAAC"}
|