@droppii-org/chat-mobile 0.2.35 → 0.2.37
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/hooks/useFileAttachment.js +3 -1
- package/lib/module/hooks/useFileAttachment.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +10 -1
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/PinnedMessageBar.js +8 -3
- package/lib/module/screens/chat-detail/PinnedMessageBar.js.map +1 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js +173 -0
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js.map +1 -0
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js +9 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxMenu.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js +1 -0
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +4 -1
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/UIUtils.js +6 -0
- package/lib/module/utils/UIUtils.js.map +1 -1
- package/lib/typescript/src/hooks/useFileAttachment.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessageBar.d.ts +2 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessageBar.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessagesSheet.d.ts +10 -0
- package/lib/typescript/src/screens/chat-detail/PinnedMessagesSheet.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts +9 -7
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.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 +3 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/UIUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/hooks/useFileAttachment.ts +3 -1
- package/src/screens/chat-detail/ChatDetail.tsx +10 -0
- package/src/screens/chat-detail/PinnedMessageBar.tsx +9 -3
- package/src/screens/chat-detail/PinnedMessagesSheet.tsx +244 -0
- package/src/screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx +18 -6
- package/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx +1 -0
- package/src/translation/resources/i18n.ts +6 -1
- package/src/types/chat.ts +1 -0
- package/src/utils/UIUtils.ts +5 -0
|
@@ -63,7 +63,9 @@ export const useFileAttachment = () => {
|
|
|
63
63
|
let candidates = picked;
|
|
64
64
|
if (oversized.length > 0) {
|
|
65
65
|
UIUtils.toast.open({
|
|
66
|
-
title: trans('chat:file_too_large'
|
|
66
|
+
title: trans('chat:file_too_large', {
|
|
67
|
+
maxSize: String(MAX_FILE_SIZE / 1024 / 1024)
|
|
68
|
+
}),
|
|
67
69
|
theme: 'danger'
|
|
68
70
|
});
|
|
69
71
|
candidates = picked.filter(f => f.size <= MAX_FILE_SIZE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","ImageUploadAPI","DeviceUtils","UIUtils","trans","MAX_FILE_SIZE","MAX_FILE_COUNT","useFileAttachment","selectedFiles","setSelectedFiles","updateFileStatus","id","updates","prev","map","f","uploadFile","file","isUploading","error","uploadProgress","uploaded","uploadImageFile","path","uri","startsWith","slice","filename","name","size","width","height","mime","mimeType","progress","url","Error","uploadedUrl","console","message","handleFileAttach","currentCount","length","toast","open","title","theme","picked","openFilePicker","oversized","filter","candidates","deduplicated","some","s","remaining","toAdd","newFiles","Date","now","Math","random","toString","Promise","all","handleFileRemove","clearAllFiles","isFilePreviewVisible"],"sourceRoot":"../../../src","sources":["hooks/useFileAttachment.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["useCallback","useState","ImageUploadAPI","DeviceUtils","UIUtils","trans","MAX_FILE_SIZE","MAX_FILE_COUNT","useFileAttachment","selectedFiles","setSelectedFiles","updateFileStatus","id","updates","prev","map","f","uploadFile","file","isUploading","error","uploadProgress","uploaded","uploadImageFile","path","uri","startsWith","slice","filename","name","size","width","height","mime","mimeType","progress","url","Error","uploadedUrl","console","message","handleFileAttach","currentCount","length","toast","open","title","theme","picked","openFilePicker","oversized","filter","candidates","maxSize","String","deduplicated","some","s","remaining","toAdd","newFiles","Date","now","Math","random","toString","Promise","all","handleFileRemove","clearAllFiles","isFilePreviewVisible"],"sourceRoot":"../../../src","sources":["hooks/useFileAttachment.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ import { useNavigation } from '@react-navigation/native';
|
|
|
9
9
|
import { useChatMessages } from "../../hooks/useChatMessages.js";
|
|
10
10
|
import { usePinMessage } from "../../hooks/message/usePinMessage.js";
|
|
11
11
|
import { PinnedMessageBar } from "./PinnedMessageBar.js";
|
|
12
|
+
import { openPinnedMessagesSheet } from "./PinnedMessagesSheet.js";
|
|
12
13
|
import { MediaViewerModal } from "../../components/MediaViewerModal.js";
|
|
13
14
|
import { useConversation, useConversationStore } from "../../store/index.js";
|
|
14
15
|
import ChatDetailHeader from "./ChatDetailHeader.js";
|
|
@@ -113,6 +114,13 @@ const ChatDetail = /*#__PURE__*/memo(({
|
|
|
113
114
|
const handleMessageLongPress = useCallback((message, rect) => {
|
|
114
115
|
messageToolboxRef.current?.show(message, rect);
|
|
115
116
|
}, []);
|
|
117
|
+
const handlePressPinnedMessageBar = useCallback(() => {
|
|
118
|
+
openPinnedMessagesSheet({
|
|
119
|
+
currentUserId,
|
|
120
|
+
unpinMessage,
|
|
121
|
+
customMessageItemFactory
|
|
122
|
+
});
|
|
123
|
+
}, [currentUserId, unpinMessage, customMessageItemFactory]);
|
|
116
124
|
return /*#__PURE__*/_jsxs(KContainer.Page, {
|
|
117
125
|
flex: true,
|
|
118
126
|
edges: ['bottom'],
|
|
@@ -126,7 +134,8 @@ const ChatDetail = /*#__PURE__*/memo(({
|
|
|
126
134
|
onPressAvatar: onPressAvatar
|
|
127
135
|
}), /*#__PURE__*/_jsx(PinnedMessageBar, {
|
|
128
136
|
messages: pinnedMessages,
|
|
129
|
-
currentUserId: currentUserId
|
|
137
|
+
currentUserId: currentUserId,
|
|
138
|
+
onPress: handlePressPinnedMessageBar
|
|
130
139
|
}), /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
|
|
131
140
|
style: styles.keyboardAvoiding,
|
|
132
141
|
behavior: "padding",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","KeyboardAvoidingView","useSafeAreaInsets","KContainer","useNavigation","useChatMessages","usePinMessage","PinnedMessageBar","MediaViewerModal","useConversation","useConversationStore","ChatDetailHeader","ChatListLegend","ChatComposer","shouldShowAddMember","normalizeUrl","MessageToolboxOverlay","DBotStatusValue","useGetConversationDetail","useGetStatusConversationBot","PeerType","jsx","_jsx","jsxs","_jsxs","ChatDetail","targetConversationId","targetUserId","targetGroupId","targetBotId","enabled","showAddMember","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","onPressUrl","customMessageItemFactory","pannelActions","navigation","mediaViewerRef","messageToolboxRef","conversationId","isLoading","isLoadingConversation","conversation","botId","peerType","Bot","id","JSON","parse","ex","sessionInfo","data","_","undefined","botInfo","status","botStatus","handleBackDefault","goBack","handleMediaPress","items","index","current","show","messages","currentUserId","onLoadEarlier","isLoadingEarlier","hasMoreEarlier","pinnedMessages","pinMessage","unpinMessage","getState","setCurrentConversation","resolvedShowAddMember","insets","keyboardVerticalOffset","select","android","bottom","default","handlePressUrl","url","handleMessageLongPress","message","rect","Page","flex","edges","children","style","styles","keyboardAvoiding","behavior","onMediaPress","onLongPress","isEmptyMessage","length","isDisableCompose","INACTIVE","ref","onPinMessage","onUnpinMessage","displayName","create"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACrE,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,SAASC,oBAAoB,QAAQ,kCAAkC;AACvE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,aAAa,QAAQ,sCAAmC;AACjE,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SACEC,gBAAgB,QAEX,sCAAmC;AAC1C,SAASC,eAAe,EAAEC,oBAAoB,QAAQ,sBAAa;AACnE,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,mBAAmB,QAAQ,+BAA4B;AAEhE,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,qBAAqB,QAAQ,2CAAwC;AAE9E,SAASC,eAAe,QAA2B,qBAAkB;AACrE,SACEC,wBAAwB,EACxBC,2BAA2B,QACtB,sDAAmD;AAC1D,SAASC,QAAQ,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEzD,MAAMC,UAAU,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","KeyboardAvoidingView","useSafeAreaInsets","KContainer","useNavigation","useChatMessages","usePinMessage","PinnedMessageBar","openPinnedMessagesSheet","MediaViewerModal","useConversation","useConversationStore","ChatDetailHeader","ChatListLegend","ChatComposer","shouldShowAddMember","normalizeUrl","MessageToolboxOverlay","DBotStatusValue","useGetConversationDetail","useGetStatusConversationBot","PeerType","jsx","_jsx","jsxs","_jsxs","ChatDetail","targetConversationId","targetUserId","targetGroupId","targetBotId","enabled","showAddMember","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressAvatar","onPressUrl","customMessageItemFactory","pannelActions","navigation","mediaViewerRef","messageToolboxRef","conversationId","isLoading","isLoadingConversation","conversation","botId","peerType","Bot","id","JSON","parse","ex","sessionInfo","data","_","undefined","botInfo","status","botStatus","handleBackDefault","goBack","handleMediaPress","items","index","current","show","messages","currentUserId","onLoadEarlier","isLoadingEarlier","hasMoreEarlier","pinnedMessages","pinMessage","unpinMessage","getState","setCurrentConversation","resolvedShowAddMember","insets","keyboardVerticalOffset","select","android","bottom","default","handlePressUrl","url","handleMessageLongPress","message","rect","handlePressPinnedMessageBar","Page","flex","edges","children","onPress","style","styles","keyboardAvoiding","behavior","onMediaPress","onLongPress","isEmptyMessage","length","isDisableCompose","INACTIVE","ref","onPinMessage","onUnpinMessage","displayName","create"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,7 +51,8 @@ const PinnedMessageThumbnail = /*#__PURE__*/memo(({
|
|
|
51
51
|
PinnedMessageThumbnail.displayName = 'PinnedMessageThumbnail';
|
|
52
52
|
export const PinnedMessageBar = /*#__PURE__*/memo(({
|
|
53
53
|
messages,
|
|
54
|
-
currentUserId
|
|
54
|
+
currentUserId,
|
|
55
|
+
onPress
|
|
55
56
|
}) => {
|
|
56
57
|
if (messages.length === 0) {
|
|
57
58
|
return null;
|
|
@@ -62,7 +63,9 @@ export const PinnedMessageBar = /*#__PURE__*/memo(({
|
|
|
62
63
|
const {
|
|
63
64
|
subtitleKey
|
|
64
65
|
} = getPinnedMessagePreview(latest);
|
|
65
|
-
return /*#__PURE__*/_jsxs(KContainer.
|
|
66
|
+
return /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
67
|
+
activeOpacity: 0.7,
|
|
68
|
+
onPress: onPress,
|
|
66
69
|
style: styles.container,
|
|
67
70
|
children: [/*#__PURE__*/_jsx(PinnedMessageThumbnail, {
|
|
68
71
|
message: latest
|
|
@@ -101,7 +104,9 @@ export const PinnedMessageBar = /*#__PURE__*/memo(({
|
|
|
101
104
|
badgeSize: {
|
|
102
105
|
width: 26,
|
|
103
106
|
height: 20
|
|
104
|
-
}
|
|
107
|
+
}
|
|
108
|
+
// eslint-disable-next-line react-native/no-inline-styles
|
|
109
|
+
,
|
|
105
110
|
wrapperLabelTextStyle: {
|
|
106
111
|
paddingHorizontal: 3
|
|
107
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","KBadge","trans","getMessagePreview","getPinnedMessagePreview","jsx","_jsx","jsxs","_jsxs","PinnedMessageThumbnail","message","preview","mediaType","thumbnailUrl","Base","uri","style","styles","thumbnail","resizeMode","View","children","videoOverlay","center","VectorIcons","name","provider","size","color","white","fileIcon","marginL","displayName","PinnedMessageBar","messages","currentUserId","length","latest","sender","sendID","senderNickname","remainingCount","subtitleKey","container","row","alignItems","flex","paddingR","content","Text","typo","numberOfLines","primary","normal","gray","light","BaseV2","badge","skipConvertBadge","badgeSize","width","height","wrapperLabelTextStyle","paddingHorizontal","create","flexDirection","backgroundColor","palette","w25","paddingRight","paddingLeft","paddingVertical","overflow","position","top","left","right","bottom","minWidth","borderRadius","justifyContent","marginRight"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessageBar.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,MAAM,QACD,eAAe;AACtB,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SACEC,iBAAiB,EACjBC,uBAAuB,QAClB,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","KBadge","trans","getMessagePreview","getPinnedMessagePreview","jsx","_jsx","jsxs","_jsxs","PinnedMessageThumbnail","message","preview","mediaType","thumbnailUrl","Base","uri","style","styles","thumbnail","resizeMode","View","children","videoOverlay","center","VectorIcons","name","provider","size","color","white","fileIcon","marginL","displayName","PinnedMessageBar","messages","currentUserId","onPress","length","latest","sender","sendID","senderNickname","remainingCount","subtitleKey","Touchable","activeOpacity","container","row","alignItems","flex","paddingR","content","Text","typo","numberOfLines","primary","normal","gray","light","BaseV2","badge","skipConvertBadge","badgeSize","width","height","wrapperLabelTextStyle","paddingHorizontal","create","flexDirection","backgroundColor","palette","w25","paddingRight","paddingLeft","paddingVertical","overflow","position","top","left","right","bottom","minWidth","borderRadius","justifyContent","marginRight"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessageBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, memo, useCallback, useImperativeHandle, useRef, useState } from 'react';
|
|
4
|
+
import { Modal, Pressable, StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer, KLabel, KColors } from '@droppii/libs';
|
|
6
|
+
import { UIUtils } from "../../utils/UIUtils.js";
|
|
7
|
+
import { trans } from "../../translation/index.js";
|
|
8
|
+
import { usePinnedMessageStore } from "../../store/pinnedMessage.js";
|
|
9
|
+
import { LegendChatMessage } from "./legend/LegendChatMessage.js";
|
|
10
|
+
import { formatMessageTime, messageStyles } from "./legend/messageTypes.js";
|
|
11
|
+
import { MessageToolboxWrapper } from "./messageToolbox/MessageToolboxWrapper.js";
|
|
12
|
+
import { MessageToolboxMenu } from "./messageToolbox/MessageToolboxMenu.js";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
// Mirrors MessageToolboxOverlay (used for the main chat list's long-press
|
|
15
|
+
// menu) but restricted to the 2 actions relevant to an already-pinned
|
|
16
|
+
// message: unpin and jump to the original message.
|
|
17
|
+
const PinnedMessageToolboxOverlay = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(({
|
|
18
|
+
currentUserId,
|
|
19
|
+
unpinMessage,
|
|
20
|
+
customMessageItemFactory
|
|
21
|
+
}, ref) => {
|
|
22
|
+
const [visible, setVisible] = useState(false);
|
|
23
|
+
const [message, setMessage] = useState(undefined);
|
|
24
|
+
const [rect, setRect] = useState(null);
|
|
25
|
+
const hide = useCallback(() => {
|
|
26
|
+
setVisible(false);
|
|
27
|
+
setMessage(undefined);
|
|
28
|
+
setRect(null);
|
|
29
|
+
}, []);
|
|
30
|
+
const show = useCallback((msg, msgRect) => {
|
|
31
|
+
setMessage(msg);
|
|
32
|
+
setRect(msgRect);
|
|
33
|
+
setVisible(true);
|
|
34
|
+
}, []);
|
|
35
|
+
useImperativeHandle(ref, () => ({
|
|
36
|
+
show,
|
|
37
|
+
hide
|
|
38
|
+
}), [show, hide]);
|
|
39
|
+
const handleUnpinMessage = useCallback(() => {
|
|
40
|
+
if (!message) return;
|
|
41
|
+
hide();
|
|
42
|
+
unpinMessage(message);
|
|
43
|
+
}, [message, hide, unpinMessage]);
|
|
44
|
+
const handleViewOriginalMessage = useCallback(() => {
|
|
45
|
+
if (!message) return;
|
|
46
|
+
hide();
|
|
47
|
+
// TODO: implement navigating to / highlighting the original message
|
|
48
|
+
}, [message, hide]);
|
|
49
|
+
if (!visible || !message || !rect) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const isOutgoing = message.sendID === currentUserId;
|
|
53
|
+
return /*#__PURE__*/_jsxs(Modal, {
|
|
54
|
+
visible: visible,
|
|
55
|
+
transparent: true,
|
|
56
|
+
statusBarTranslucent: true,
|
|
57
|
+
animationType: "fade",
|
|
58
|
+
onRequestClose: hide,
|
|
59
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
60
|
+
style: styles.backdrop,
|
|
61
|
+
onPress: hide
|
|
62
|
+
}), /*#__PURE__*/_jsx(MessageToolboxWrapper, {
|
|
63
|
+
rect: rect,
|
|
64
|
+
isOutgoing: isOutgoing,
|
|
65
|
+
message: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
66
|
+
message: message,
|
|
67
|
+
isOutgoing: isOutgoing,
|
|
68
|
+
createdAtTime: message.sendTime || message.createTime,
|
|
69
|
+
customMessageItemFactory: customMessageItemFactory
|
|
70
|
+
}),
|
|
71
|
+
toolbox: /*#__PURE__*/_jsx(MessageToolboxMenu, {
|
|
72
|
+
showUnpinMessage: true,
|
|
73
|
+
showViewOriginalMessage: true,
|
|
74
|
+
onUnpinMessage: handleUnpinMessage,
|
|
75
|
+
onViewOriginalMessage: handleViewOriginalMessage
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
|
+
}));
|
|
80
|
+
PinnedMessageToolboxOverlay.displayName = 'PinnedMessageToolboxOverlay';
|
|
81
|
+
const styles = StyleSheet.create({
|
|
82
|
+
backdrop: {
|
|
83
|
+
position: 'absolute',
|
|
84
|
+
top: 0,
|
|
85
|
+
left: 0,
|
|
86
|
+
right: 0,
|
|
87
|
+
bottom: 0,
|
|
88
|
+
backgroundColor: 'rgba(0,0,0,0.75)'
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const PinnedMessagesSheetContent = /*#__PURE__*/memo(({
|
|
92
|
+
currentUserId,
|
|
93
|
+
unpinMessage,
|
|
94
|
+
customMessageItemFactory
|
|
95
|
+
}) => {
|
|
96
|
+
const messages = usePinnedMessageStore(state => state.messages);
|
|
97
|
+
const toolboxRef = useRef(null);
|
|
98
|
+
const rowRefsMap = useRef(new Map());
|
|
99
|
+
const handleLongPress = useCallback((messageId, message) => {
|
|
100
|
+
const node = rowRefsMap.current.get(messageId);
|
|
101
|
+
node?.measureInWindow((x, y, width, height) => {
|
|
102
|
+
toolboxRef.current?.show(message, {
|
|
103
|
+
x,
|
|
104
|
+
y,
|
|
105
|
+
width,
|
|
106
|
+
height
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}, []);
|
|
110
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
111
|
+
paddingV: "0.5rem",
|
|
112
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
113
|
+
typo: "TextNmNormal",
|
|
114
|
+
color: KColors.gray.normal,
|
|
115
|
+
paddingH: "0.75rem",
|
|
116
|
+
marginB: "0.75rem",
|
|
117
|
+
children: trans('chat:pinned_messages_hint')
|
|
118
|
+
}), messages.map(message => {
|
|
119
|
+
const isOutgoing = message.sendID === currentUserId;
|
|
120
|
+
const messageId = message.clientMsgID || message.serverMsgID;
|
|
121
|
+
const createdAtTime = message.sendTime || message.createTime;
|
|
122
|
+
const timeLabel = formatMessageTime(createdAtTime);
|
|
123
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
124
|
+
ref: node => {
|
|
125
|
+
if (node) rowRefsMap.current.set(messageId, node);else rowRefsMap.current.delete(messageId);
|
|
126
|
+
},
|
|
127
|
+
style: isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft,
|
|
128
|
+
children: [/*#__PURE__*/_jsx(LegendChatMessage, {
|
|
129
|
+
message: message,
|
|
130
|
+
isOutgoing: isOutgoing,
|
|
131
|
+
createdAtTime: createdAtTime,
|
|
132
|
+
onLongPress: () => handleLongPress(messageId, message),
|
|
133
|
+
customMessageItemFactory: customMessageItemFactory
|
|
134
|
+
}), !!timeLabel && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
135
|
+
typo: "TextXsNormal",
|
|
136
|
+
color: KColors.gray.light,
|
|
137
|
+
marginT: "0.25rem",
|
|
138
|
+
children: timeLabel
|
|
139
|
+
})]
|
|
140
|
+
}, messageId);
|
|
141
|
+
}), /*#__PURE__*/_jsx(PinnedMessageToolboxOverlay, {
|
|
142
|
+
ref: toolboxRef,
|
|
143
|
+
currentUserId: currentUserId,
|
|
144
|
+
unpinMessage: unpinMessage,
|
|
145
|
+
customMessageItemFactory: customMessageItemFactory
|
|
146
|
+
})]
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
PinnedMessagesSheetContent.displayName = 'PinnedMessagesSheetContent';
|
|
150
|
+
export const openPinnedMessagesSheet = ({
|
|
151
|
+
currentUserId,
|
|
152
|
+
unpinMessage,
|
|
153
|
+
customMessageItemFactory
|
|
154
|
+
}) => {
|
|
155
|
+
UIUtils.bottomSheet.open({
|
|
156
|
+
header: {
|
|
157
|
+
title: {
|
|
158
|
+
text: trans('chat:pinned_messages_title')
|
|
159
|
+
},
|
|
160
|
+
alignment: 'left',
|
|
161
|
+
showCloseButton: true
|
|
162
|
+
},
|
|
163
|
+
touchOutsideToDismiss: true,
|
|
164
|
+
body: {
|
|
165
|
+
renderContent: () => /*#__PURE__*/_jsx(PinnedMessagesSheetContent, {
|
|
166
|
+
currentUserId: currentUserId,
|
|
167
|
+
unpinMessage: unpinMessage,
|
|
168
|
+
customMessageItemFactory: customMessageItemFactory
|
|
169
|
+
})
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=PinnedMessagesSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","memo","useCallback","useImperativeHandle","useRef","useState","Modal","Pressable","StyleSheet","KContainer","KLabel","KColors","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","messageStyles","MessageToolboxWrapper","MessageToolboxMenu","jsx","_jsx","jsxs","_jsxs","PinnedMessageToolboxOverlay","currentUserId","unpinMessage","customMessageItemFactory","ref","visible","setVisible","message","setMessage","undefined","rect","setRect","hide","show","msg","msgRect","handleUnpinMessage","handleViewOriginalMessage","isOutgoing","sendID","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","createdAtTime","sendTime","createTime","toolbox","showUnpinMessage","showViewOriginalMessage","onUnpinMessage","onViewOriginalMessage","displayName","create","position","top","left","right","bottom","backgroundColor","PinnedMessagesSheetContent","messages","state","toolboxRef","rowRefsMap","Map","handleLongPress","messageId","node","current","get","measureInWindow","x","y","width","height","View","paddingV","Text","typo","color","gray","normal","paddingH","marginB","map","clientMsgID","serverMsgID","timeLabel","set","delete","messageRowRight","messageRowLeft","onLongPress","light","marginT","openPinnedMessagesSheet","bottomSheet","open","header","title","text","alignment","showCloseButton","touchOutsideToDismiss","body","renderContent"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessagesSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,12 +13,14 @@ export const MessageToolboxMenu = /*#__PURE__*/memo(({
|
|
|
13
13
|
showUnpinMessage,
|
|
14
14
|
showRetryMessage,
|
|
15
15
|
showRevokeMessage,
|
|
16
|
+
showViewOriginalMessage,
|
|
16
17
|
onCopyMessage,
|
|
17
18
|
onCopyMessageLink,
|
|
18
19
|
onPinMessage,
|
|
19
20
|
onUnpinMessage,
|
|
20
21
|
onRetryMessage,
|
|
21
|
-
onRevokeMessage
|
|
22
|
+
onRevokeMessage,
|
|
23
|
+
onViewOriginalMessage
|
|
22
24
|
}) => {
|
|
23
25
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
24
26
|
style: styles.card,
|
|
@@ -46,6 +48,12 @@ export const MessageToolboxMenu = /*#__PURE__*/memo(({
|
|
|
46
48
|
label: trans('chat:unpin_message'),
|
|
47
49
|
visible: showUnpinMessage,
|
|
48
50
|
onPress: onUnpinMessage
|
|
51
|
+
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
52
|
+
icon: "chat-square-o",
|
|
53
|
+
color: KColors.gray.dark,
|
|
54
|
+
label: trans('chat:view_original_message'),
|
|
55
|
+
visible: showViewOriginalMessage,
|
|
56
|
+
onPress: onViewOriginalMessage
|
|
49
57
|
}), /*#__PURE__*/_jsx(MessageToolboxItem, {
|
|
50
58
|
icon: "arrow-reload-o",
|
|
51
59
|
color: KColors.danger.normal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","KColors","KSpacingValue","trans","MessageToolboxItem","jsx","_jsx","jsxs","_jsxs","MessageToolboxMenu","showCopyMessage","showCopyMessageLink","showPinMessage","showUnpinMessage","showRetryMessage","showRevokeMessage","onCopyMessage","onCopyMessageLink","onPinMessage","onUnpinMessage","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;
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KColors","KSpacingValue","trans","MessageToolboxItem","jsx","_jsx","jsxs","_jsxs","MessageToolboxMenu","showCopyMessage","showCopyMessageLink","showPinMessage","showUnpinMessage","showRetryMessage","showRevokeMessage","showViewOriginalMessage","onCopyMessage","onCopyMessageLink","onPinMessage","onUnpinMessage","onRetryMessage","onRevokeMessage","onViewOriginalMessage","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":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
|
40
40
|
const containerStyles = useAnimatedStyle(() => ({
|
|
41
41
|
top: Math.max(rect.y, insets.top) + topOffset,
|
|
42
42
|
left: rect.x,
|
|
43
|
+
width: rect.width,
|
|
43
44
|
gap: MENU_GAP,
|
|
44
45
|
transform: [{
|
|
45
46
|
translateY: translateY.value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","memo","View","Platform","useWindowDimensions","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","messageStyles","Animated","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","MENU_GAP","MessageToolboxWrapper","isOutgoing","rect","message","reaction","toolbox","insets","reactionHeight","toolboxHeight","topOffset","OS","top","height","windowHeight","onToolboxLayout","nativeEvent","value","layout","onReactionLayout","translateY","menuGap","overflowBottom","Math","max","y","bottom","min","containerStyles","left","x","gap","transform","pointerEvents","style","messageRowRight","messageRowLeft","children","onLayout","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,IAAI,QAAQ,OAAO;AACzC,SACEC,IAAI,EACJC,QAAQ,EACRC,mBAAmB,QAEd,cAAc;AACrB,SACEC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAEhC,SAASC,aAAa,QAAQ,2BAAwB;AACtD,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,iBAAiB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnE,MAAMC,QAAQ,GAAG,CAAC;AAUlB,OAAO,MAAMC,qBAAqB,gBAAGhB,IAAI,CACvC,CAAC;EACCiB,UAAU;EACVC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC;AAC0B,CAAC,KAAK;EAChC,MAAMC,MAAM,GAAGZ,iBAAiB,CAAC,CAAC;EAClC,MAAMa,cAAc,GAAGjB,cAAc,CAAC,CAAC,CAAC;EACxC,MAAMkB,aAAa,GAAGlB,cAAc,CAAC,CAAC,CAAC;EACvC,MAAMmB,SAAS,GAAGvB,QAAQ,CAACwB,EAAE,KAAK,SAAS,GAAGJ,MAAM,CAACK,GAAG,GAAG,CAAC;EAC5D,MAAM;IAAEC,MAAM,EAAEC;EAAa,CAAC,GAAG1B,mBAAmB,CAAC,CAAC;EAEtD,MAAM2B,eAAe,GAAG/B,WAAW,CACjC,CAAC;IAAEgC;EAA+B,CAAC,KAAK;IACtCP,aAAa,CAACQ,KAAK,GAAGD,WAAW,CAACE,MAAM,CAACL,MAAM;EACjD,CAAC,EACD,CAACJ,aAAa,CAChB,CAAC;EAED,MAAMU,gBAAgB,GAAGnC,WAAW,CAClC,CAAC;IAAEgC;EAA+B,CAAC,KAAK;IACtCR,cAAc,CAACS,KAAK,GAAGD,WAAW,CAACE,MAAM,CAACL,MAAM;EAClD,CAAC,EACD,CAACL,cAAc,CACjB,CAAC;EAED,MAAMY,UAAU,GAAG9B,eAAe,CAAC,MAAM;IACvC,MAAM+B,OAAO,GACX,CAACb,cAAc,CAACS,KAAK,GAAG,CAAC,GAAGjB,QAAQ,GAAG,CAAC,KACvCS,aAAa,CAACQ,KAAK,GAAG,CAAC,GAAGjB,QAAQ,GAAG,CAAC,CAAC;IAE1C,MAAMsB,cAAc,GAClBC,IAAI,CAACC,GAAG,CAACrB,IAAI,CAACsB,CAAC,EAAElB,MAAM,CAACK,GAAG,CAAC,GAC5BF,SAAS,GACTP,IAAI,CAACU,MAAM,GACXJ,aAAa,CAACQ,KAAK,IAClBV,MAAM,CAACmB,MAAM,IAAI,EAAE,CAAC,GACrBL,OAAO,GACPP,YAAY;IAEd,OAAOtB,UAAU,CAAC+B,IAAI,CAACI,GAAG,CAAC,CAACL,cAAc,EAAE,CAAC,CAAC,CAAC;EACjD,CAAC,CAAC;EAEF,MAAMM,eAAe,GAAGvC,gBAAgB,CAAC,OAAO;IAC9CuB,GAAG,EAAEW,IAAI,CAACC,GAAG,CAACrB,IAAI,CAACsB,CAAC,EAAElB,MAAM,CAACK,GAAG,CAAC,GAAGF,SAAS;IAC7CmB,IAAI,EAAE1B,IAAI,CAAC2B,CAAC;IACZC,GAAG,
|
|
1
|
+
{"version":3,"names":["useCallback","memo","View","Platform","useWindowDimensions","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","messageStyles","Animated","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","MENU_GAP","MessageToolboxWrapper","isOutgoing","rect","message","reaction","toolbox","insets","reactionHeight","toolboxHeight","topOffset","OS","top","height","windowHeight","onToolboxLayout","nativeEvent","value","layout","onReactionLayout","translateY","menuGap","overflowBottom","Math","max","y","bottom","min","containerStyles","left","x","width","gap","transform","pointerEvents","style","messageRowRight","messageRowLeft","children","onLayout","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const i18nKey = {
|
|
4
4
|
'thread_card_bot_crm_name': 'Droppii Hỗ Trợ',
|
|
5
5
|
'thread_card_fallback_name': 'Người dùng',
|
|
6
|
-
'chat:file_too_large': 'Tệp
|
|
6
|
+
'chat:file_too_large': 'Tệp tải lên không hợp lệ. Kích thước tệp không được vượt quá {{maxSize}}MB',
|
|
7
7
|
'chat:file_max_count': 'Chỉ có thể đính kèm tối đa 3 tệp',
|
|
8
8
|
'chat:file_pick_failed': 'Không thể chọn tệp',
|
|
9
9
|
'chat:file_upload_failed': 'Lỗi tải tệp lên',
|
|
@@ -46,6 +46,9 @@ const i18nKey = {
|
|
|
46
46
|
'chat:pin_limit_title': 'Không thể ghim thêm tin nhắn',
|
|
47
47
|
'chat:pin_limit_desc': 'Chỉ được ghim tối đa 5 tin nhắn. Vui lòng bỏ ghim một tin nhắn hiện có trước khi ghim tin nhắn mới.',
|
|
48
48
|
'chat:pin_limit_primary': 'Đã hiểu',
|
|
49
|
+
'chat:pinned_messages_title': 'Tin nhắn đã ghim',
|
|
50
|
+
'chat:pinned_messages_hint': 'Nhấn giữ tin nhắn để chọn "Bỏ Ghim" hoặc "Xem tin nhắn gốc"',
|
|
51
|
+
'chat:view_original_message': 'Xem tin nhắn gốc',
|
|
49
52
|
'msg_type_image': '[Hình ảnh]',
|
|
50
53
|
'msg_type_voice': '[Tin nhắn thoại]',
|
|
51
54
|
'msg_type_video': '[Video]',
|
|
@@ -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,
|
|
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,EACnB,4EAA4E;EAC9E,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,kBAAkB,EAAE,MAAM;EAC1B,oBAAoB,EAAE,SAAS;EAC/B,0BAA0B,EAAE,kBAAkB;EAC9C,4BAA4B,EAAE,qBAAqB;EACnD,8BAA8B,EAAE,wBAAwB;EACxD,4BAA4B,EAAE,wBAAwB;EACtD,4BAA4B,EAAE,qBAAqB;EACnD,2BAA2B,EAAE,wBAAwB;EACrD,2BAA2B,EAAE,wBAAwB;EACrD,sBAAsB,EAAE,8BAA8B;EACtD,qBAAqB,EACnB,qGAAqG;EACvG,wBAAwB,EAAE,SAAS;EACnC,4BAA4B,EAAE,kBAAkB;EAChD,2BAA2B,EACzB,6DAA6D;EAC/D,4BAA4B,EAAE,kBAAkB;EAChD,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,qGAAqG;EACvG,2BAA2B,EAAE,eAAe;EAC5C,6BAA6B,EAAE,UAAU;EACzC,yBAAyB,EAAE,kBAAkB;EAC7C,2BAA2B,EAAE,kBAAkB;EAC/C,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE,aAAa;EACxB,SAAS,EAAE,WAAW;EACtB,QAAQ,EAAE,UAAU;EACpB,WAAW,EAAE,UAAU;EACvB,YAAY,EAAE,cAAc;EAC5B,cAAc,EAAE,cAAc;EAC9B,oBAAoB,EAAE;AACxB,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole","DFlowState","DBotStatusValue","DBotType","CustomMessageType","Order","Product"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAcA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;
|
|
1
|
+
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole","DFlowState","DBotStatusValue","DBotType","CustomMessageType","Order","Product"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAcA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AA8BV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAatB,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAK3B,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AA0HpB,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACX,CAAU","ignoreList":[]}
|
|
@@ -17,6 +17,9 @@ const defaultAdapter = {
|
|
|
17
17
|
},
|
|
18
18
|
popup: {
|
|
19
19
|
open: openWithAlert
|
|
20
|
+
},
|
|
21
|
+
bottomSheet: {
|
|
22
|
+
open: openWithAlert
|
|
20
23
|
}
|
|
21
24
|
};
|
|
22
25
|
let _adapter = {};
|
|
@@ -32,6 +35,9 @@ export const UIUtils = {
|
|
|
32
35
|
},
|
|
33
36
|
popup: {
|
|
34
37
|
open: params => (_adapter.popup ?? defaultAdapter.popup).open(params)
|
|
38
|
+
},
|
|
39
|
+
bottomSheet: {
|
|
40
|
+
open: params => (_adapter.bottomSheet ?? defaultAdapter.bottomSheet).open(params)
|
|
35
41
|
}
|
|
36
42
|
};
|
|
37
43
|
//# sourceMappingURL=UIUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Alert","openWithAlert","params","title","message","alert","defaultAdapter","toast","open","popup","_adapter","registerUIUtils","adapter","UIUtils"],"sourceRoot":"../../../src","sources":["utils/UIUtils.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AAGpC,MAAMC,aAAa,GAAIC,MAA4C,IAAK;EACtE,MAAM;IAAEC,KAAK,GAAG,SAAS;IAAEC,OAAO,GAAG;EAAG,CAAC,GAAGF,MAAM,IAAI,CAAC,CAAC;EACxDF,KAAK,CAACK,KAAK,CAACF,KAAK,EAAEC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAME,cAAuC,GAAG;EAC9CC,KAAK,EAAE;IAAEC,IAAI,EAAEP;EAAc,CAAC;EAC9BI,KAAK,EAAE;IAAEG,IAAI,EAAEP;EAAc,CAAC;EAC9BQ,KAAK,EAAE;IAAED,IAAI,EAAEP;EAAc;
|
|
1
|
+
{"version":3,"names":["Alert","openWithAlert","params","title","message","alert","defaultAdapter","toast","open","popup","bottomSheet","_adapter","registerUIUtils","adapter","UIUtils"],"sourceRoot":"../../../src","sources":["utils/UIUtils.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AAGpC,MAAMC,aAAa,GAAIC,MAA4C,IAAK;EACtE,MAAM;IAAEC,KAAK,GAAG,SAAS;IAAEC,OAAO,GAAG;EAAG,CAAC,GAAGF,MAAM,IAAI,CAAC,CAAC;EACxDF,KAAK,CAACK,KAAK,CAACF,KAAK,EAAEC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAME,cAAuC,GAAG;EAC9CC,KAAK,EAAE;IAAEC,IAAI,EAAEP;EAAc,CAAC;EAC9BI,KAAK,EAAE;IAAEG,IAAI,EAAEP;EAAc,CAAC;EAC9BQ,KAAK,EAAE;IAAED,IAAI,EAAEP;EAAc,CAAC;EAC9BS,WAAW,EAAE;IAAEF,IAAI,EAAEP;EAAc;AACrC,CAAC;AAED,IAAIU,QAAuB,GAAG,CAAC,CAAC;AAEhC,OAAO,MAAMC,eAAe,GAAIC,OAAsB,IAAW;EAC/DF,QAAQ,GAAGE,OAAO;AACpB,CAAC;AAED,OAAO,MAAMC,OAAgC,GAAG;EAC9CP,KAAK,EAAE;IACLC,IAAI,EAAGN,MAAM,IAAK,CAACS,QAAQ,CAACJ,KAAK,IAAID,cAAc,CAACC,KAAK,EAAEC,IAAI,CAACN,MAAM;EACxE,CAAC;EACDG,KAAK,EAAE;IACLG,IAAI,EAAGN,MAAM,IAAK,CAACS,QAAQ,CAACN,KAAK,IAAIC,cAAc,CAACD,KAAK,EAAEG,IAAI,CAACN,MAAM;EACxE,CAAC;EACDO,KAAK,EAAE;IACLD,IAAI,EAAGN,MAAM,IAAK,CAACS,QAAQ,CAACF,KAAK,IAAIH,cAAc,CAACG,KAAK,EAAED,IAAI,CAACN,MAAM;EACxE,CAAC;EACDQ,WAAW,EAAE;IACXF,IAAI,EAAGN,MAAM,IACX,CAACS,QAAQ,CAACD,WAAW,IAAIJ,cAAc,CAACI,WAAW,EAAEF,IAAI,CAACN,MAAM;EACpE;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFileAttachment.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,QAAO,
|
|
1
|
+
{"version":3,"file":"useFileAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFileAttachment.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,QAAO,uBAuIpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAW/C,QAAA,MAAM,UAAU,8PAgBX,eAAe,iCA6JnB,CAAC;AAQF,eAAe,UAAU,CAAC"}
|
|
@@ -2,7 +2,8 @@ import type { DMessageItem } from '../../types/chat';
|
|
|
2
2
|
interface PinnedMessageBarProps {
|
|
3
3
|
messages: DMessageItem[];
|
|
4
4
|
currentUserId?: string;
|
|
5
|
+
onPress?: () => void;
|
|
5
6
|
}
|
|
6
|
-
export declare const PinnedMessageBar: import("react").MemoExoticComponent<({ messages, currentUserId }: PinnedMessageBarProps) => import("react").JSX.Element>;
|
|
7
|
+
export declare const PinnedMessageBar: import("react").MemoExoticComponent<({ messages, currentUserId, onPress }: PinnedMessageBarProps) => import("react").JSX.Element>;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=PinnedMessageBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedMessageBar.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessageBar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"PinnedMessageBar.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessageBar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAwDD,eAAO,MAAM,gBAAgB,6EACY,qBAAqB,iCA4D7D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { MessageItem } from '@droppii/openim-rn-client-sdk';
|
|
3
|
+
import type { DMessageItem } from '../../types/chat';
|
|
4
|
+
export interface OpenPinnedMessagesSheetParams {
|
|
5
|
+
currentUserId?: string;
|
|
6
|
+
unpinMessage: (message: MessageItem) => void | Promise<void>;
|
|
7
|
+
customMessageItemFactory?: (item: DMessageItem) => ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const openPinnedMessagesSheet: ({ currentUserId, unpinMessage, customMessageItemFactory, }: OpenPinnedMessagesSheetParams) => void;
|
|
10
|
+
//# sourceMappingURL=PinnedMessagesSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PinnedMessagesSheet.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/PinnedMessagesSheet.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAUjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmMrD,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC;CAC9D;AAED,eAAO,MAAM,uBAAuB,GAAI,4DAIrC,6BAA6B,SAkB/B,CAAC"}
|
|
@@ -5,13 +5,15 @@ interface MessageToolboxMenuProps {
|
|
|
5
5
|
showUnpinMessage?: boolean;
|
|
6
6
|
showRetryMessage?: boolean;
|
|
7
7
|
showRevokeMessage?: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
showViewOriginalMessage?: boolean;
|
|
9
|
+
onCopyMessage?: () => void;
|
|
10
|
+
onCopyMessageLink?: () => void;
|
|
11
|
+
onPinMessage?: () => void;
|
|
12
|
+
onUnpinMessage?: () => void;
|
|
13
|
+
onRetryMessage?: () => void;
|
|
14
|
+
onRevokeMessage?: () => void;
|
|
15
|
+
onViewOriginalMessage?: () => void;
|
|
14
16
|
}
|
|
15
|
-
export declare const MessageToolboxMenu: import("react").MemoExoticComponent<({ showCopyMessage, showCopyMessageLink, showPinMessage, showUnpinMessage, showRetryMessage, showRevokeMessage, onCopyMessage, onCopyMessageLink, onPinMessage, onUnpinMessage, onRetryMessage, onRevokeMessage, }: MessageToolboxMenuProps) => import("react").JSX.Element>;
|
|
17
|
+
export declare const MessageToolboxMenu: import("react").MemoExoticComponent<({ showCopyMessage, showCopyMessageLink, showPinMessage, showUnpinMessage, showRetryMessage, showRevokeMessage, showViewOriginalMessage, onCopyMessage, onCopyMessageLink, onPinMessage, onUnpinMessage, onRetryMessage, onRevokeMessage, onViewOriginalMessage, }: MessageToolboxMenuProps) => import("react").JSX.Element>;
|
|
16
18
|
export {};
|
|
17
19
|
//# sourceMappingURL=MessageToolboxMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageToolboxMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx"],"names":[],"mappings":"AAMA,UAAU,uBAAuB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageToolboxMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxMenu.tsx"],"names":[],"mappings":"AAMA,UAAU,uBAAuB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,kBAAkB,0SAgB1B,uBAAuB,iCA6D3B,CAAC"}
|
package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageToolboxWrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,KAAK,0BAA0B,GAAG;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,0FAO7B,0BAA0B,
|
|
1
|
+
{"version":3,"file":"MessageToolboxWrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,KAAK,0BAA0B,GAAG;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,0FAO7B,0BAA0B,iCA8D9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/translation/resources/i18n.ts"],"names":[],"mappings":";;;AAgFA,wBAEE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/types/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAErD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,KAAK,KAAK,GAAG,CACX,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,GAAG,MAAM,OAAO,aAAa,EAAE,KACvC,IAAI,CAAC;AAEV,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/types/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAErD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,KAAK,KAAK,GAAG,CACX,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,GAAG,MAAM,OAAO,aAAa,EAAE,KACvC,IAAI,CAAC;AAEV,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;IACxC,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,EAAE,oBAAoB,CAAC;IACtC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACrD,CAAC,CAAC;AAEH,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,oBAAY,UAAU;IACpB,GAAG,IAAI;IACP,EAAE,IAAI;CACP;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,oBAAY,QAAQ;IAClB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,wBAAwB,EAAE,OAAO,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,SAAS,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,oBAAoB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,WAAW,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,2BAA2B,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClE,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,gBAAgB,EAAE,CAChB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,KAC9D,IAAI,CAAC;IACV,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,CAAC,IAAI,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,CAAC,aAAa,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;CAAG;AAErE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,oBAAoB,CAAC;IACtC,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,OAAO,iBAAiB,CAAC,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/UIUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"UIUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/UIUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgBnD,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,IAExD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,aAAa,CAc3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -99,7 +99,9 @@ export const useFileAttachment = (): UseFileAttachmentReturn => {
|
|
|
99
99
|
let candidates = picked;
|
|
100
100
|
if (oversized.length > 0) {
|
|
101
101
|
UIUtils.toast.open({
|
|
102
|
-
title: trans('chat:file_too_large'
|
|
102
|
+
title: trans('chat:file_too_large', {
|
|
103
|
+
maxSize: String(MAX_FILE_SIZE / 1024 / 1024),
|
|
104
|
+
}),
|
|
103
105
|
theme: 'danger',
|
|
104
106
|
});
|
|
105
107
|
candidates = picked.filter((f) => f.size <= MAX_FILE_SIZE);
|
|
@@ -8,6 +8,7 @@ import { useNavigation } from '@react-navigation/native';
|
|
|
8
8
|
import { useChatMessages } from '../../hooks/useChatMessages';
|
|
9
9
|
import { usePinMessage } from '../../hooks/message/usePinMessage';
|
|
10
10
|
import { PinnedMessageBar } from './PinnedMessageBar';
|
|
11
|
+
import { openPinnedMessagesSheet } from './PinnedMessagesSheet';
|
|
11
12
|
import {
|
|
12
13
|
MediaViewerModal,
|
|
13
14
|
type MediaViewerModalHandle,
|
|
@@ -139,6 +140,14 @@ const ChatDetail = memo(
|
|
|
139
140
|
[]
|
|
140
141
|
);
|
|
141
142
|
|
|
143
|
+
const handlePressPinnedMessageBar = useCallback(() => {
|
|
144
|
+
openPinnedMessagesSheet({
|
|
145
|
+
currentUserId,
|
|
146
|
+
unpinMessage,
|
|
147
|
+
customMessageItemFactory,
|
|
148
|
+
});
|
|
149
|
+
}, [currentUserId, unpinMessage, customMessageItemFactory]);
|
|
150
|
+
|
|
142
151
|
return (
|
|
143
152
|
<KContainer.Page flex edges={['bottom']}>
|
|
144
153
|
<ChatDetailHeader
|
|
@@ -154,6 +163,7 @@ const ChatDetail = memo(
|
|
|
154
163
|
<PinnedMessageBar
|
|
155
164
|
messages={pinnedMessages}
|
|
156
165
|
currentUserId={currentUserId}
|
|
166
|
+
onPress={handlePressPinnedMessageBar}
|
|
157
167
|
/>
|
|
158
168
|
|
|
159
169
|
<KeyboardAvoidingView
|
|
@@ -18,6 +18,7 @@ import type { DMessageItem } from '../../types/chat';
|
|
|
18
18
|
interface PinnedMessageBarProps {
|
|
19
19
|
messages: DMessageItem[];
|
|
20
20
|
currentUserId?: string;
|
|
21
|
+
onPress?: () => void;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
const PinnedMessageThumbnail = memo(
|
|
@@ -75,7 +76,7 @@ const PinnedMessageThumbnail = memo(
|
|
|
75
76
|
PinnedMessageThumbnail.displayName = 'PinnedMessageThumbnail';
|
|
76
77
|
|
|
77
78
|
export const PinnedMessageBar = memo(
|
|
78
|
-
({ messages, currentUserId }: PinnedMessageBarProps) => {
|
|
79
|
+
({ messages, currentUserId, onPress }: PinnedMessageBarProps) => {
|
|
79
80
|
if (messages.length === 0) {
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
@@ -87,7 +88,11 @@ export const PinnedMessageBar = memo(
|
|
|
87
88
|
const { subtitleKey } = getPinnedMessagePreview(latest);
|
|
88
89
|
|
|
89
90
|
return (
|
|
90
|
-
<KContainer.
|
|
91
|
+
<KContainer.Touchable
|
|
92
|
+
activeOpacity={0.7}
|
|
93
|
+
onPress={onPress}
|
|
94
|
+
style={styles.container}
|
|
95
|
+
>
|
|
91
96
|
<PinnedMessageThumbnail message={latest} />
|
|
92
97
|
|
|
93
98
|
<KContainer.View row alignItems flex paddingR="0.75rem">
|
|
@@ -118,6 +123,7 @@ export const PinnedMessageBar = memo(
|
|
|
118
123
|
badge={`+${remainingCount}`}
|
|
119
124
|
skipConvertBadge
|
|
120
125
|
badgeSize={{ width: 26, height: 20 }}
|
|
126
|
+
// eslint-disable-next-line react-native/no-inline-styles
|
|
121
127
|
wrapperLabelTextStyle={{ paddingHorizontal: 3 }}
|
|
122
128
|
/>
|
|
123
129
|
)}
|
|
@@ -127,7 +133,7 @@ export const PinnedMessageBar = memo(
|
|
|
127
133
|
color={KColors.gray.normal}
|
|
128
134
|
/>
|
|
129
135
|
</KContainer.View>
|
|
130
|
-
</KContainer.
|
|
136
|
+
</KContainer.Touchable>
|
|
131
137
|
);
|
|
132
138
|
}
|
|
133
139
|
);
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
memo,
|
|
4
|
+
useCallback,
|
|
5
|
+
useImperativeHandle,
|
|
6
|
+
useRef,
|
|
7
|
+
useState,
|
|
8
|
+
} from 'react';
|
|
9
|
+
import type { ReactNode } from 'react';
|
|
10
|
+
import { Modal, Pressable, StyleSheet, type View } from 'react-native';
|
|
11
|
+
import type { MessageItem } from '@droppii/openim-rn-client-sdk';
|
|
12
|
+
import { KContainer, KLabel, KColors } from '@droppii/libs';
|
|
13
|
+
import { UIUtils } from '../../utils/UIUtils';
|
|
14
|
+
import { trans } from '../../translation';
|
|
15
|
+
import { usePinnedMessageStore } from '../../store/pinnedMessage';
|
|
16
|
+
import { LegendChatMessage } from './legend/LegendChatMessage';
|
|
17
|
+
import { formatMessageTime, messageStyles } from './legend/messageTypes';
|
|
18
|
+
import { MessageToolboxWrapper } from './messageToolbox/MessageToolboxWrapper';
|
|
19
|
+
import { MessageToolboxMenu } from './messageToolbox/MessageToolboxMenu';
|
|
20
|
+
import type { MeasuredRect } from './messageToolbox/types';
|
|
21
|
+
import type { DMessageItem } from '../../types/chat';
|
|
22
|
+
|
|
23
|
+
interface PinnedMessageToolboxRef {
|
|
24
|
+
show: (message: DMessageItem, rect: MeasuredRect) => void;
|
|
25
|
+
hide: () => void;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface PinnedMessageToolboxOverlayProps {
|
|
29
|
+
currentUserId?: string;
|
|
30
|
+
unpinMessage: (message: MessageItem) => void | Promise<void>;
|
|
31
|
+
customMessageItemFactory?: (item: DMessageItem) => ReactNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Mirrors MessageToolboxOverlay (used for the main chat list's long-press
|
|
35
|
+
// menu) but restricted to the 2 actions relevant to an already-pinned
|
|
36
|
+
// message: unpin and jump to the original message.
|
|
37
|
+
const PinnedMessageToolboxOverlay = memo(
|
|
38
|
+
forwardRef<PinnedMessageToolboxRef, PinnedMessageToolboxOverlayProps>(
|
|
39
|
+
({ currentUserId, unpinMessage, customMessageItemFactory }, ref) => {
|
|
40
|
+
const [visible, setVisible] = useState(false);
|
|
41
|
+
const [message, setMessage] = useState<DMessageItem | undefined>(
|
|
42
|
+
undefined
|
|
43
|
+
);
|
|
44
|
+
const [rect, setRect] = useState<MeasuredRect | null>(null);
|
|
45
|
+
|
|
46
|
+
const hide = useCallback(() => {
|
|
47
|
+
setVisible(false);
|
|
48
|
+
setMessage(undefined);
|
|
49
|
+
setRect(null);
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
const show = useCallback((msg: DMessageItem, msgRect: MeasuredRect) => {
|
|
53
|
+
setMessage(msg);
|
|
54
|
+
setRect(msgRect);
|
|
55
|
+
setVisible(true);
|
|
56
|
+
}, []);
|
|
57
|
+
|
|
58
|
+
useImperativeHandle(ref, () => ({ show, hide }), [show, hide]);
|
|
59
|
+
|
|
60
|
+
const handleUnpinMessage = useCallback(() => {
|
|
61
|
+
if (!message) return;
|
|
62
|
+
hide();
|
|
63
|
+
unpinMessage(message);
|
|
64
|
+
}, [message, hide, unpinMessage]);
|
|
65
|
+
|
|
66
|
+
const handleViewOriginalMessage = useCallback(() => {
|
|
67
|
+
if (!message) return;
|
|
68
|
+
hide();
|
|
69
|
+
// TODO: implement navigating to / highlighting the original message
|
|
70
|
+
}, [message, hide]);
|
|
71
|
+
|
|
72
|
+
if (!visible || !message || !rect) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const isOutgoing = message.sendID === currentUserId;
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<Modal
|
|
80
|
+
visible={visible}
|
|
81
|
+
transparent
|
|
82
|
+
statusBarTranslucent
|
|
83
|
+
animationType="fade"
|
|
84
|
+
onRequestClose={hide}
|
|
85
|
+
>
|
|
86
|
+
<Pressable style={styles.backdrop} onPress={hide} />
|
|
87
|
+
|
|
88
|
+
<MessageToolboxWrapper
|
|
89
|
+
rect={rect}
|
|
90
|
+
isOutgoing={isOutgoing}
|
|
91
|
+
message={
|
|
92
|
+
<LegendChatMessage
|
|
93
|
+
message={message}
|
|
94
|
+
isOutgoing={isOutgoing}
|
|
95
|
+
createdAtTime={message.sendTime || message.createTime}
|
|
96
|
+
customMessageItemFactory={customMessageItemFactory}
|
|
97
|
+
/>
|
|
98
|
+
}
|
|
99
|
+
toolbox={
|
|
100
|
+
<MessageToolboxMenu
|
|
101
|
+
showUnpinMessage
|
|
102
|
+
showViewOriginalMessage
|
|
103
|
+
onUnpinMessage={handleUnpinMessage}
|
|
104
|
+
onViewOriginalMessage={handleViewOriginalMessage}
|
|
105
|
+
/>
|
|
106
|
+
}
|
|
107
|
+
/>
|
|
108
|
+
</Modal>
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
PinnedMessageToolboxOverlay.displayName = 'PinnedMessageToolboxOverlay';
|
|
115
|
+
|
|
116
|
+
const styles = StyleSheet.create({
|
|
117
|
+
backdrop: {
|
|
118
|
+
position: 'absolute',
|
|
119
|
+
top: 0,
|
|
120
|
+
left: 0,
|
|
121
|
+
right: 0,
|
|
122
|
+
bottom: 0,
|
|
123
|
+
backgroundColor: 'rgba(0,0,0,0.75)',
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
interface PinnedMessagesSheetContentProps {
|
|
128
|
+
currentUserId?: string;
|
|
129
|
+
unpinMessage: (message: MessageItem) => void | Promise<void>;
|
|
130
|
+
customMessageItemFactory?: (item: DMessageItem) => ReactNode;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const PinnedMessagesSheetContent = memo(
|
|
134
|
+
({
|
|
135
|
+
currentUserId,
|
|
136
|
+
unpinMessage,
|
|
137
|
+
customMessageItemFactory,
|
|
138
|
+
}: PinnedMessagesSheetContentProps) => {
|
|
139
|
+
const messages = usePinnedMessageStore((state) => state.messages);
|
|
140
|
+
const toolboxRef = useRef<PinnedMessageToolboxRef>(null);
|
|
141
|
+
const rowRefsMap = useRef<Map<string, View | null>>(new Map());
|
|
142
|
+
|
|
143
|
+
const handleLongPress = useCallback(
|
|
144
|
+
(messageId: string, message: DMessageItem) => {
|
|
145
|
+
const node = rowRefsMap.current.get(messageId);
|
|
146
|
+
node?.measureInWindow((x, y, width, height) => {
|
|
147
|
+
toolboxRef.current?.show(message, { x, y, width, height });
|
|
148
|
+
});
|
|
149
|
+
},
|
|
150
|
+
[]
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
return (
|
|
154
|
+
<KContainer.View paddingV="0.5rem">
|
|
155
|
+
<KLabel.Text
|
|
156
|
+
typo="TextNmNormal"
|
|
157
|
+
color={KColors.gray.normal}
|
|
158
|
+
paddingH="0.75rem"
|
|
159
|
+
marginB="0.75rem"
|
|
160
|
+
>
|
|
161
|
+
{trans('chat:pinned_messages_hint')}
|
|
162
|
+
</KLabel.Text>
|
|
163
|
+
|
|
164
|
+
{messages.map((message) => {
|
|
165
|
+
const isOutgoing = message.sendID === currentUserId;
|
|
166
|
+
const messageId = message.clientMsgID || message.serverMsgID;
|
|
167
|
+
const createdAtTime = message.sendTime || message.createTime;
|
|
168
|
+
const timeLabel = formatMessageTime(createdAtTime);
|
|
169
|
+
|
|
170
|
+
return (
|
|
171
|
+
<KContainer.View
|
|
172
|
+
key={messageId}
|
|
173
|
+
ref={(node: View | null) => {
|
|
174
|
+
if (node) rowRefsMap.current.set(messageId, node);
|
|
175
|
+
else rowRefsMap.current.delete(messageId);
|
|
176
|
+
}}
|
|
177
|
+
style={
|
|
178
|
+
isOutgoing
|
|
179
|
+
? messageStyles.messageRowRight
|
|
180
|
+
: messageStyles.messageRowLeft
|
|
181
|
+
}
|
|
182
|
+
>
|
|
183
|
+
<LegendChatMessage
|
|
184
|
+
message={message}
|
|
185
|
+
isOutgoing={isOutgoing}
|
|
186
|
+
createdAtTime={createdAtTime}
|
|
187
|
+
onLongPress={() => handleLongPress(messageId, message)}
|
|
188
|
+
customMessageItemFactory={customMessageItemFactory}
|
|
189
|
+
/>
|
|
190
|
+
{!!timeLabel && (
|
|
191
|
+
<KLabel.Text
|
|
192
|
+
typo="TextXsNormal"
|
|
193
|
+
color={KColors.gray.light}
|
|
194
|
+
marginT="0.25rem"
|
|
195
|
+
>
|
|
196
|
+
{timeLabel}
|
|
197
|
+
</KLabel.Text>
|
|
198
|
+
)}
|
|
199
|
+
</KContainer.View>
|
|
200
|
+
);
|
|
201
|
+
})}
|
|
202
|
+
|
|
203
|
+
<PinnedMessageToolboxOverlay
|
|
204
|
+
ref={toolboxRef}
|
|
205
|
+
currentUserId={currentUserId}
|
|
206
|
+
unpinMessage={unpinMessage}
|
|
207
|
+
customMessageItemFactory={customMessageItemFactory}
|
|
208
|
+
/>
|
|
209
|
+
</KContainer.View>
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
|
|
214
|
+
PinnedMessagesSheetContent.displayName = 'PinnedMessagesSheetContent';
|
|
215
|
+
|
|
216
|
+
export interface OpenPinnedMessagesSheetParams {
|
|
217
|
+
currentUserId?: string;
|
|
218
|
+
unpinMessage: (message: MessageItem) => void | Promise<void>;
|
|
219
|
+
customMessageItemFactory?: (item: DMessageItem) => ReactNode;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export const openPinnedMessagesSheet = ({
|
|
223
|
+
currentUserId,
|
|
224
|
+
unpinMessage,
|
|
225
|
+
customMessageItemFactory,
|
|
226
|
+
}: OpenPinnedMessagesSheetParams) => {
|
|
227
|
+
UIUtils.bottomSheet.open({
|
|
228
|
+
header: {
|
|
229
|
+
title: { text: trans('chat:pinned_messages_title') },
|
|
230
|
+
alignment: 'left',
|
|
231
|
+
showCloseButton: true,
|
|
232
|
+
},
|
|
233
|
+
touchOutsideToDismiss: true,
|
|
234
|
+
body: {
|
|
235
|
+
renderContent: () => (
|
|
236
|
+
<PinnedMessagesSheetContent
|
|
237
|
+
currentUserId={currentUserId}
|
|
238
|
+
unpinMessage={unpinMessage}
|
|
239
|
+
customMessageItemFactory={customMessageItemFactory}
|
|
240
|
+
/>
|
|
241
|
+
),
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
};
|
|
@@ -11,12 +11,14 @@ interface MessageToolboxMenuProps {
|
|
|
11
11
|
showUnpinMessage?: boolean;
|
|
12
12
|
showRetryMessage?: boolean;
|
|
13
13
|
showRevokeMessage?: boolean;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
showViewOriginalMessage?: boolean;
|
|
15
|
+
onCopyMessage?: () => void;
|
|
16
|
+
onCopyMessageLink?: () => void;
|
|
17
|
+
onPinMessage?: () => void;
|
|
18
|
+
onUnpinMessage?: () => void;
|
|
19
|
+
onRetryMessage?: () => void;
|
|
20
|
+
onRevokeMessage?: () => void;
|
|
21
|
+
onViewOriginalMessage?: () => void;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
export const MessageToolboxMenu = memo(
|
|
@@ -27,12 +29,14 @@ export const MessageToolboxMenu = memo(
|
|
|
27
29
|
showUnpinMessage,
|
|
28
30
|
showRetryMessage,
|
|
29
31
|
showRevokeMessage,
|
|
32
|
+
showViewOriginalMessage,
|
|
30
33
|
onCopyMessage,
|
|
31
34
|
onCopyMessageLink,
|
|
32
35
|
onPinMessage,
|
|
33
36
|
onUnpinMessage,
|
|
34
37
|
onRetryMessage,
|
|
35
38
|
onRevokeMessage,
|
|
39
|
+
onViewOriginalMessage,
|
|
36
40
|
}: MessageToolboxMenuProps) => {
|
|
37
41
|
return (
|
|
38
42
|
<KContainer.View style={styles.card}>
|
|
@@ -68,6 +72,14 @@ export const MessageToolboxMenu = memo(
|
|
|
68
72
|
onPress={onUnpinMessage}
|
|
69
73
|
/>
|
|
70
74
|
|
|
75
|
+
<MessageToolboxItem
|
|
76
|
+
icon="chat-square-o"
|
|
77
|
+
color={KColors.gray.dark}
|
|
78
|
+
label={trans('chat:view_original_message')}
|
|
79
|
+
visible={showViewOriginalMessage}
|
|
80
|
+
onPress={onViewOriginalMessage}
|
|
81
|
+
/>
|
|
82
|
+
|
|
71
83
|
<MessageToolboxItem
|
|
72
84
|
icon="arrow-reload-o"
|
|
73
85
|
color={KColors.danger.normal}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const i18nKey: Record<string, string> = {
|
|
2
2
|
'thread_card_bot_crm_name': 'Droppii Hỗ Trợ',
|
|
3
3
|
'thread_card_fallback_name': 'Người dùng',
|
|
4
|
-
'chat:file_too_large':
|
|
4
|
+
'chat:file_too_large':
|
|
5
|
+
'Tệp tải lên không hợp lệ. Kích thước tệp không được vượt quá {{maxSize}}MB',
|
|
5
6
|
'chat:file_max_count': 'Chỉ có thể đính kèm tối đa 3 tệp',
|
|
6
7
|
'chat:file_pick_failed': 'Không thể chọn tệp',
|
|
7
8
|
'chat:file_upload_failed': 'Lỗi tải tệp lên',
|
|
@@ -47,6 +48,10 @@ const i18nKey: Record<string, string> = {
|
|
|
47
48
|
'chat:pin_limit_desc':
|
|
48
49
|
'Chỉ được ghim tối đa 5 tin nhắn. Vui lòng bỏ ghim một tin nhắn hiện có trước khi ghim tin nhắn mới.',
|
|
49
50
|
'chat:pin_limit_primary': 'Đã hiểu',
|
|
51
|
+
'chat:pinned_messages_title': 'Tin nhắn đã ghim',
|
|
52
|
+
'chat:pinned_messages_hint':
|
|
53
|
+
'Nhấn giữ tin nhắn để chọn "Bỏ Ghim" hoặc "Xem tin nhắn gốc"',
|
|
54
|
+
'chat:view_original_message': 'Xem tin nhắn gốc',
|
|
50
55
|
'msg_type_image': '[Hình ảnh]',
|
|
51
56
|
'msg_type_voice': '[Tin nhắn thoại]',
|
|
52
57
|
'msg_type_video': '[Video]',
|
package/src/types/chat.ts
CHANGED
package/src/utils/UIUtils.ts
CHANGED
|
@@ -10,6 +10,7 @@ const defaultAdapter: Required<ChatUIAdapter> = {
|
|
|
10
10
|
toast: { open: openWithAlert },
|
|
11
11
|
alert: { open: openWithAlert },
|
|
12
12
|
popup: { open: openWithAlert },
|
|
13
|
+
bottomSheet: { open: openWithAlert },
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
let _adapter: ChatUIAdapter = {};
|
|
@@ -28,4 +29,8 @@ export const UIUtils: Required<ChatUIAdapter> = {
|
|
|
28
29
|
popup: {
|
|
29
30
|
open: (params) => (_adapter.popup ?? defaultAdapter.popup).open(params),
|
|
30
31
|
},
|
|
32
|
+
bottomSheet: {
|
|
33
|
+
open: (params) =>
|
|
34
|
+
(_adapter.bottomSheet ?? defaultAdapter.bottomSheet).open(params),
|
|
35
|
+
},
|
|
31
36
|
};
|