@droppii-org/chat-mobile 0.2.17 → 0.2.19
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/assets/images/icon_excel.png +0 -0
- package/lib/module/assets/images/icon_img.png +0 -0
- package/lib/module/assets/images/icon_pdf.png +0 -0
- package/lib/module/assets/images/icon_txt.png +0 -0
- package/lib/module/assets/images/icon_word.png +0 -0
- package/lib/module/assets/images/index.js +5 -0
- package/lib/module/assets/images/index.js.map +1 -1
- package/lib/module/components/AttachmentPreview/FilePreview.js +107 -0
- package/lib/module/components/AttachmentPreview/FilePreview.js.map +1 -0
- package/lib/module/components/AttachmentPreview/MediaPreview.js +212 -0
- package/lib/module/components/AttachmentPreview/MediaPreview.js.map +1 -0
- package/lib/module/components/AttachmentPreview/index.js +49 -0
- package/lib/module/components/AttachmentPreview/index.js.map +1 -0
- package/lib/module/components/ThreadCard/AvatarSection.js.map +1 -1
- package/lib/module/components/ThreadCard/ThreadCard.js +17 -9
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/components/flows/inputButtons/index.js +7 -3
- package/lib/module/components/flows/inputButtons/index.js.map +1 -1
- package/lib/module/components/messages/fileMessage/index.js +122 -12
- package/lib/module/components/messages/fileMessage/index.js.map +1 -1
- package/lib/module/context/ChatContext.js +27 -4
- package/lib/module/context/ChatContext.js.map +1 -1
- package/lib/module/context/ChatDetailContext.js.map +1 -1
- package/lib/module/core/useChatListener.js +2 -4
- package/lib/module/core/useChatListener.js.map +1 -1
- package/lib/module/core/useUserListener.js +0 -7
- package/lib/module/core/useUserListener.js.map +1 -1
- package/lib/module/hooks/flows/useFlow.js +14 -3
- package/lib/module/hooks/flows/useFlow.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +1 -1
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/useConversationList.js +3 -27
- package/lib/module/hooks/useConversationList.js.map +1 -1
- package/lib/module/hooks/useFileAttachment.js +116 -0
- package/lib/module/hooks/useFileAttachment.js.map +1 -0
- package/lib/module/hooks/useFileDownload.js +175 -0
- package/lib/module/hooks/useFileDownload.js.map +1 -0
- package/lib/module/hooks/useLinkPreview/useLinkPreview.js +1 -1
- package/lib/module/hooks/useLinkPreview/useLinkPreview.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatComposer.js +44 -36
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +1 -6
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetailHeader.js +6 -6
- package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatLinkPreview.js +3 -1
- package/lib/module/screens/chat-detail/ChatLinkPreview.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +2 -2
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/conversationHeader.utils.js +9 -0
- package/lib/module/screens/chat-detail/conversationHeader.utils.js.map +1 -1
- package/lib/module/screens/chat-detail/hooks/useAttachmentMapping.js +51 -0
- package/lib/module/screens/chat-detail/hooks/useAttachmentMapping.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js +39 -13
- package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js.map +1 -1
- package/lib/module/screens/inbox/Inbox.js +5 -1
- package/lib/module/screens/inbox/Inbox.js.map +1 -1
- package/lib/module/services/apis.js +0 -20
- package/lib/module/services/apis.js.map +1 -1
- package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js +6 -6
- package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js.map +1 -1
- package/lib/module/services/attachmentHandlers/index.js +1 -1
- package/lib/module/services/attachmentHandlers/index.js.map +1 -1
- package/lib/module/store/conversation.js +1 -38
- package/lib/module/store/conversation.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +9 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/auth.js.map +1 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/conversation.js +1 -28
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/module/utils/device.js +32 -0
- package/lib/module/utils/device.js.map +1 -1
- package/lib/module/utils/imageUtils.js +44 -28
- package/lib/module/utils/imageUtils.js.map +1 -1
- package/lib/module/utils/message.js.map +1 -1
- package/lib/module/utils/messageUtils.js +5 -3
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/typescript/src/assets/images/index.d.ts +5 -0
- package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
- package/lib/typescript/src/components/AttachmentPreview/FilePreview.d.ts +6 -0
- package/lib/typescript/src/components/AttachmentPreview/FilePreview.d.ts.map +1 -0
- package/lib/typescript/src/components/AttachmentPreview/MediaPreview.d.ts +9 -0
- package/lib/typescript/src/components/AttachmentPreview/MediaPreview.d.ts.map +1 -0
- package/lib/typescript/src/components/AttachmentPreview/index.d.ts +9 -0
- package/lib/typescript/src/components/AttachmentPreview/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts +2 -2
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
- package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
- package/lib/typescript/src/core/useUserListener.d.ts.map +1 -1
- package/lib/typescript/src/hooks/flows/useFlow.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useConversationList.d.ts +2 -2
- package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useFileAttachment.d.ts +20 -0
- package/lib/typescript/src/hooks/useFileAttachment.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useFileDownload.d.ts +15 -0
- package/lib/typescript/src/hooks/useFileDownload.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useImageAttachment.d.ts +1 -2
- package/lib/typescript/src/hooks/useImageAttachment.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatLinkPreview.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts +7 -5
- package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentMapping.d.ts +10 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentMapping.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts +4 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +6 -9
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/lib/typescript/src/screens/inbox/Inbox.d.ts.map +1 -1
- package/lib/typescript/src/services/apis.d.ts +0 -4
- package/lib/typescript/src/services/apis.d.ts.map +1 -1
- package/lib/typescript/src/services/attachmentHandlers/fileAttachmentHandler.d.ts +2 -2
- package/lib/typescript/src/services/attachmentHandlers/fileAttachmentHandler.d.ts.map +1 -1
- package/lib/typescript/src/services/attachmentHandlers/index.d.ts +1 -1
- package/lib/typescript/src/services/attachmentHandlers/index.d.ts.map +1 -1
- package/lib/typescript/src/store/conversation.d.ts +5 -8
- package/lib/typescript/src/store/conversation.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/attachment.d.ts +22 -1
- package/lib/typescript/src/types/attachment.d.ts.map +1 -1
- package/lib/typescript/src/types/auth.d.ts +1 -0
- package/lib/typescript/src/types/auth.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +15 -13
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/conversation.d.ts +2 -5
- package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
- package/lib/typescript/src/utils/device.d.ts +7 -0
- package/lib/typescript/src/utils/device.d.ts.map +1 -1
- package/lib/typescript/src/utils/imageUtils.d.ts +1 -0
- package/lib/typescript/src/utils/imageUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/message.d.ts +3 -3
- package/lib/typescript/src/utils/message.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +2 -1
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/assets/images/icon_excel.png +0 -0
- package/src/assets/images/icon_img.png +0 -0
- package/src/assets/images/icon_pdf.png +0 -0
- package/src/assets/images/icon_txt.png +0 -0
- package/src/assets/images/icon_word.png +0 -0
- package/src/assets/images/index.ts +5 -0
- package/src/components/AttachmentPreview/FilePreview.tsx +137 -0
- package/src/components/AttachmentPreview/MediaPreview.tsx +238 -0
- package/src/components/AttachmentPreview/index.tsx +68 -0
- package/src/components/ThreadCard/AvatarSection.tsx +2 -3
- package/src/components/ThreadCard/ThreadCard.tsx +22 -15
- package/src/components/flows/inputButtons/index.tsx +4 -1
- package/src/components/messages/fileMessage/index.tsx +156 -13
- package/src/context/ChatContext.tsx +35 -3
- package/src/context/ChatDetailContext.tsx +1 -1
- package/src/core/useChatListener.ts +2 -4
- package/src/core/useUserListener.ts +0 -8
- package/src/hooks/flows/useFlow.ts +12 -3
- package/src/hooks/message/useSendMessage.ts +1 -1
- package/src/hooks/useConversationList.ts +6 -40
- package/src/hooks/useFileAttachment.ts +163 -0
- package/src/hooks/useFileDownload.ts +200 -0
- package/src/hooks/useImageAttachment.ts +1 -1
- package/src/hooks/useLinkPreview/useLinkPreview.ts +6 -1
- package/src/screens/chat-detail/ChatComposer.tsx +61 -30
- package/src/screens/chat-detail/ChatDetail.tsx +1 -7
- package/src/screens/chat-detail/ChatDetailHeader.tsx +6 -7
- package/src/screens/chat-detail/ChatLinkPreview.tsx +16 -12
- package/src/screens/chat-detail/ChatListLegend.tsx +2 -6
- package/src/screens/chat-detail/conversationHeader.utils.ts +16 -6
- package/src/screens/chat-detail/hooks/useAttachmentMapping.ts +58 -0
- package/src/screens/chat-detail/hooks/useAttachmentSendHandler.ts +50 -11
- package/src/screens/chat-detail/types.ts +6 -13
- package/src/screens/inbox/Inbox.tsx +5 -1
- package/src/services/apis.ts +0 -38
- package/src/services/attachmentHandlers/fileAttachmentHandler.ts +8 -7
- package/src/services/attachmentHandlers/index.ts +4 -1
- package/src/store/conversation.ts +6 -55
- package/src/translation/resources/i18n.ts +9 -0
- package/src/types/attachment.ts +23 -1
- package/src/types/auth.ts +1 -0
- package/src/types/chat.ts +16 -20
- package/src/utils/conversation.ts +2 -40
- package/src/utils/device.ts +58 -0
- package/src/utils/imageUtils.ts +50 -28
- package/src/utils/message.ts +3 -2
- package/src/utils/messageUtils.ts +11 -3
- package/lib/module/components/AttachmentPreview.js +0 -252
- package/lib/module/components/AttachmentPreview.js.map +0 -1
- package/lib/typescript/src/components/AttachmentPreview.d.ts +0 -28
- package/lib/typescript/src/components/AttachmentPreview.d.ts.map +0 -1
- package/src/components/AttachmentPreview.tsx +0 -310
|
@@ -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,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EAAE,yBAAyB;EACjD,sBAAsB,EAAE,6BAA6B;EACrD,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,aAAa;EACzC,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,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,EAAE,yBAAyB;EACjD,sBAAsB,EAAE,6BAA6B;EACrD,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,aAAa;EACzC,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,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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SyncStatus"],"sourceRoot":"../../../src","sources":["types/auth.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SyncStatus"],"sourceRoot":"../../../src","sources":["types/auth.ts"],"mappings":";;AAqBA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAUA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAmBV,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","ignoreList":[]}
|
|
@@ -8,39 +8,12 @@ export const conversationCompare = (a, b) => {
|
|
|
8
8
|
const bCompare = b.draftTextTime > b.latestMsgSendTime ? b.draftTextTime : b.latestMsgSendTime;
|
|
9
9
|
return bCompare - aCompare;
|
|
10
10
|
};
|
|
11
|
-
export const dConversationCompare = (a, b) => {
|
|
12
|
-
if (a.isPinned !== b.isPinned) return a.isPinned ? -1 : 1;
|
|
13
|
-
const aTime = a.draftTextTime > a.latestMsgSendTime ? a.draftTextTime : a.latestMsgSendTime;
|
|
14
|
-
const bTime = b.draftTextTime > b.latestMsgSendTime ? b.draftTextTime : b.latestMsgSendTime;
|
|
15
|
-
return bTime - aTime;
|
|
16
|
-
};
|
|
17
|
-
export const mergeOpenIMIntoConversation = (existing, openim) => {
|
|
18
|
-
const {
|
|
19
|
-
latestMsg,
|
|
20
|
-
...openimRest
|
|
21
|
-
} = openim;
|
|
22
|
-
let lastMessage = existing.lastMessage;
|
|
23
|
-
if (latestMsg) {
|
|
24
|
-
try {
|
|
25
|
-
lastMessage = JSON.parse(latestMsg);
|
|
26
|
-
} catch {
|
|
27
|
-
// keep existing lastMessage if parse fails
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Spread existing first so peerType (not in ConversationItem) is preserved
|
|
32
|
-
return {
|
|
33
|
-
...existing,
|
|
34
|
-
...openimRest,
|
|
35
|
-
lastMessage
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
11
|
export const getConversationID = (sessionType, senderID, receiverID) => {
|
|
39
12
|
const prefix = sessionType === SessionType.Single ? 'si' : sessionType === SessionType.Notification ? 'sn' : 'sg';
|
|
40
13
|
return [prefix, senderID, receiverID].filter(Boolean).join('_');
|
|
41
14
|
};
|
|
42
15
|
export const sortConversation = map => {
|
|
43
|
-
const list = Object.keys(map).sort((a, b) =>
|
|
16
|
+
const list = Object.keys(map).sort((a, b) => conversationCompare(map[a], map[b]));
|
|
44
17
|
return {
|
|
45
18
|
map,
|
|
46
19
|
list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessageType","SessionType","trans","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","
|
|
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,SAAS,CAAC;IACzB;MACE,OAAO,EAAE;EACb;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import ImagePicker from 'react-native-image-crop-picker';
|
|
4
|
+
import { pick as pickDocument, types as documentTypes, isErrorWithCode, errorCodes, keepLocalCopy } from '@react-native-documents/picker';
|
|
4
5
|
const DeviceUtils = {
|
|
5
6
|
openImagePicker: async (multiple = false) => {
|
|
6
7
|
try {
|
|
@@ -59,6 +60,37 @@ const DeviceUtils = {
|
|
|
59
60
|
console.error('[Video Picker] Error:', error);
|
|
60
61
|
throw error;
|
|
61
62
|
}
|
|
63
|
+
},
|
|
64
|
+
openFilePicker: async (multiple = false) => {
|
|
65
|
+
try {
|
|
66
|
+
const results = await pickDocument({
|
|
67
|
+
allowMultiSelection: multiple,
|
|
68
|
+
type: [documentTypes.allFiles],
|
|
69
|
+
mode: 'import'
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Copy picked files to app's document directory so uploads can access them
|
|
73
|
+
const copies = await keepLocalCopy({
|
|
74
|
+
files: results.map(r => ({
|
|
75
|
+
uri: r.uri,
|
|
76
|
+
fileName: r.name ?? 'file'
|
|
77
|
+
})),
|
|
78
|
+
destination: 'documentDirectory'
|
|
79
|
+
});
|
|
80
|
+
const files = results.map((r, i) => ({
|
|
81
|
+
uri: decodeURIComponent(copies[i]?.status === 'success' ? copies[i].localUri : r.uri),
|
|
82
|
+
name: r.name ?? 'file',
|
|
83
|
+
size: r.size ?? 0,
|
|
84
|
+
mimeType: r.type ?? 'application/octet-stream'
|
|
85
|
+
}));
|
|
86
|
+
return files;
|
|
87
|
+
} catch (error) {
|
|
88
|
+
if (isErrorWithCode(error) && error.code === errorCodes.OPERATION_CANCELED) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
console.error('[File Picker] Error:', error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
62
94
|
}
|
|
63
95
|
};
|
|
64
96
|
export default DeviceUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ImagePicker","DeviceUtils","openImagePicker","multiple","result","openPicker","mediaType","compressImageQuality","forceJpg","images","Array","isArray","console","log","count","length","map","img","filename","size","width","height","error","code","openVideoPicker","videos","vid","duration"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,gCAAgC;
|
|
1
|
+
{"version":3,"names":["ImagePicker","pick","pickDocument","types","documentTypes","isErrorWithCode","errorCodes","keepLocalCopy","DeviceUtils","openImagePicker","multiple","result","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":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import Images from "../assets/images/index.js";
|
|
3
4
|
export const generateUUID = () => {
|
|
4
5
|
return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
|
|
5
6
|
};
|
|
@@ -15,38 +16,53 @@ export const isVideoFromPicker = pickedItem => {
|
|
|
15
16
|
if (!mime) return false;
|
|
16
17
|
return mime.startsWith('video/');
|
|
17
18
|
};
|
|
19
|
+
const mimeMap = {
|
|
20
|
+
jpg: 'image/jpeg',
|
|
21
|
+
jpeg: 'image/jpeg',
|
|
22
|
+
png: 'image/png',
|
|
23
|
+
webp: 'image/webp',
|
|
24
|
+
heic: 'image/heic',
|
|
25
|
+
heif: 'image/heif',
|
|
26
|
+
mp4: 'video/mp4',
|
|
27
|
+
mov: 'video/quicktime',
|
|
28
|
+
avi: 'video/x-msvideo',
|
|
29
|
+
mkv: 'video/x-matroska',
|
|
30
|
+
webm: 'video/webm',
|
|
31
|
+
m4v: 'video/mp4',
|
|
32
|
+
flv: 'video/x-flv',
|
|
33
|
+
wmv: 'video/x-ms-wmv',
|
|
34
|
+
mp3: 'audio/mpeg',
|
|
35
|
+
wav: 'audio/wav',
|
|
36
|
+
m4a: 'audio/mp4',
|
|
37
|
+
aac: 'audio/aac',
|
|
38
|
+
flac: 'audio/flac',
|
|
39
|
+
ogg: 'audio/ogg',
|
|
40
|
+
pdf: 'application/pdf',
|
|
41
|
+
doc: 'application/msword',
|
|
42
|
+
docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
43
|
+
xls: 'application/vnd.ms-excel',
|
|
44
|
+
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
45
|
+
zip: 'application/zip'
|
|
46
|
+
};
|
|
18
47
|
export const getMimeType = fileName => {
|
|
19
48
|
const ext = fileName.split('.').pop()?.toLowerCase();
|
|
20
|
-
const mimeMap = {
|
|
21
|
-
jpg: 'image/jpeg',
|
|
22
|
-
jpeg: 'image/jpeg',
|
|
23
|
-
png: 'image/png',
|
|
24
|
-
webp: 'image/webp',
|
|
25
|
-
heic: 'image/heic',
|
|
26
|
-
heif: 'image/heif',
|
|
27
|
-
mp4: 'video/mp4',
|
|
28
|
-
mov: 'video/quicktime',
|
|
29
|
-
avi: 'video/x-msvideo',
|
|
30
|
-
mkv: 'video/x-matroska',
|
|
31
|
-
webm: 'video/webm',
|
|
32
|
-
m4v: 'video/mp4',
|
|
33
|
-
flv: 'video/x-flv',
|
|
34
|
-
wmv: 'video/x-ms-wmv',
|
|
35
|
-
mp3: 'audio/mpeg',
|
|
36
|
-
wav: 'audio/wav',
|
|
37
|
-
m4a: 'audio/mp4',
|
|
38
|
-
aac: 'audio/aac',
|
|
39
|
-
flac: 'audio/flac',
|
|
40
|
-
ogg: 'audio/ogg',
|
|
41
|
-
pdf: 'application/pdf',
|
|
42
|
-
doc: 'application/msword',
|
|
43
|
-
docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
44
|
-
xls: 'application/vnd.ms-excel',
|
|
45
|
-
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
46
|
-
zip: 'application/zip'
|
|
47
|
-
};
|
|
48
49
|
return mimeMap[ext || ''] || 'application/octet-stream';
|
|
49
50
|
};
|
|
51
|
+
export const getFileIcon = mimeType => {
|
|
52
|
+
if (mimeType?.startsWith('image/')) return Images.ICON_IMG;
|
|
53
|
+
switch (mimeType) {
|
|
54
|
+
case mimeMap.pdf:
|
|
55
|
+
return Images.ICON_PDF;
|
|
56
|
+
case mimeMap.doc:
|
|
57
|
+
case mimeMap.docx:
|
|
58
|
+
return Images.ICON_WORD;
|
|
59
|
+
case mimeMap.xls:
|
|
60
|
+
case mimeMap.xlsx:
|
|
61
|
+
return Images.ICON_EXCEL;
|
|
62
|
+
default:
|
|
63
|
+
return Images.ICON_TXT;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
50
66
|
export const formatFileSize = bytes => {
|
|
51
67
|
if (bytes === 0) return '0 Bytes';
|
|
52
68
|
const k = 1024;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","
|
|
1
|
+
{"version":3,"names":["Images","generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","mimeMap","jpg","jpeg","png","webp","heic","heif","mp4","mov","avi","mkv","webm","m4v","flv","wmv","mp3","wav","m4a","aac","flac","ogg","pdf","doc","docx","xls","xlsx","zip","fileName","ext","split","pop","toLowerCase","getFileIcon","ICON_IMG","ICON_PDF","ICON_WORD","ICON_EXCEL","ICON_TXT","formatFileSize","bytes","k","sizes","i","floor","log","round","pow","validateImageFile","file","MAX_SIZE","size","validMimes","includes","getImageUploadEndpoint","baseUrl"],"sourceRoot":"../../../src","sources":["utils/imageUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PeerType","SessionType","getConversationID","getMessageTime","message","sendTime","createTime","getMessageKey","clientMsgID","serverMsgID","mergeMessages","current","incoming","map","Map","key","set","Array","from","values","sort","a","b","normalizeCreatedMessage","normalized","JSON","parse","Error","resolveHistoryLastMinSeq","history","fallbackMessage","lastMinSeq","seq","getHistoryPaginationAnchor","messages","length","oldest","reduce","prev","curr","hasNewHistoryMessages","currentKeys","Set","filter","Boolean","some","has","belongsToConversation","conversationId","sessionType","Single","forwardId","sendID","recvID","reverseId","Group","groupID","getReceiverId","conversation","peerType","conversationID","slice","userID"],"sourceRoot":"../../../src","sources":["utils/message.ts"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,WAAW,
|
|
1
|
+
{"version":3,"names":["PeerType","SessionType","getConversationID","getMessageTime","message","sendTime","createTime","getMessageKey","clientMsgID","serverMsgID","mergeMessages","current","incoming","map","Map","key","set","Array","from","values","sort","a","b","normalizeCreatedMessage","normalized","JSON","parse","Error","resolveHistoryLastMinSeq","history","fallbackMessage","lastMinSeq","seq","getHistoryPaginationAnchor","messages","length","oldest","reduce","prev","curr","hasNewHistoryMessages","currentKeys","Set","filter","Boolean","some","has","belongsToConversation","conversationId","sessionType","Single","forwardId","sendID","recvID","reverseId","Group","groupID","getReceiverId","conversation","peerType","conversationID","slice","userID"],"sourceRoot":"../../../src","sources":["utils/message.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Message formatting and preview utilities
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
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
10
|
export const extractTextContent = message => {
|
|
@@ -75,7 +75,6 @@ export const getMessagePreview = message => {
|
|
|
75
75
|
case MessageType.UrlTextMessage:
|
|
76
76
|
// Preview link message - show with [Link] prefix
|
|
77
77
|
const urlText = message?.urlTextElem?.content || message?.urlTextElem?.urls?.[0] || '';
|
|
78
|
-
console.log('message', urlText);
|
|
79
78
|
return urlText ? `[Link] ${urlText}` : '[Link]';
|
|
80
79
|
case MessageType.AtTextMessage:
|
|
81
80
|
case MessageType.QuoteMessage:
|
|
@@ -84,7 +83,7 @@ export const getMessagePreview = message => {
|
|
|
84
83
|
return '[Tin nhắn không được hỗ trợ]';
|
|
85
84
|
}
|
|
86
85
|
};
|
|
87
|
-
export const getLastMessageText = (message, currentUserId) => {
|
|
86
|
+
export const getLastMessageText = (message, currentUserId, conversation) => {
|
|
88
87
|
if (!message) return '';
|
|
89
88
|
const preview = getMessagePreview(message);
|
|
90
89
|
if (!preview) return '';
|
|
@@ -98,6 +97,9 @@ export const getLastMessageText = (message, currentUserId) => {
|
|
|
98
97
|
if (message.senderNickname) {
|
|
99
98
|
return `${message.senderNickname}: ${preview}`;
|
|
100
99
|
}
|
|
100
|
+
if (conversation?.peerType === PeerType.Bot) {
|
|
101
|
+
return `${conversation?.showName || ''}: ${preview}`;
|
|
102
|
+
}
|
|
101
103
|
return preview;
|
|
102
104
|
};
|
|
103
105
|
//# sourceMappingURL=messageUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessageType","DChatMessageType","formatDuration","extractTextContent","message","textElem","content","parsed","JSON","parse","getMessagePreview","contentType","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","
|
|
1
|
+
{"version":3,"names":["MessageType","PeerType","DChatMessageType","formatDuration","extractTextContent","message","textElem","content","parsed","JSON","parse","getMessagePreview","contentType","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","sendID","senderNickname","peerType","Bot","showName"],"sourceRoot":"../../../src","sources":["utils/messageUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;;;;CAUX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AttachmentItem } from '../../types/attachment';
|
|
2
|
+
export declare const FilePreview: import("react").MemoExoticComponent<({ file, onRemove, }: {
|
|
3
|
+
file: AttachmentItem;
|
|
4
|
+
onRemove: (id: string) => void;
|
|
5
|
+
}) => import("react").JSX.Element>;
|
|
6
|
+
//# sourceMappingURL=FilePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/FilePreview.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,WAAW,4DAInB;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,iCAsGF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AttachmentItem, AttachmentType } from '../../types/attachment';
|
|
2
|
+
type Props = {
|
|
3
|
+
item: AttachmentItem;
|
|
4
|
+
index: number;
|
|
5
|
+
onRemove(type: AttachmentType, index: number): void;
|
|
6
|
+
};
|
|
7
|
+
export declare const MediaPreview: import("react").MemoExoticComponent<({ item, index, onRemove }: Props) => import("react").JSX.Element>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=MediaPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/MediaPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD,CAAC;AA2BF,eAAO,MAAM,YAAY,kEAAoC,KAAK,iCAgHhE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AttachmentItem, AttachmentType } from '../../types/attachment';
|
|
2
|
+
interface AttachmentPreviewProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
attachments?: Array<AttachmentItem>;
|
|
5
|
+
onRemove: (type: AttachmentType, data: unknown) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const AttachmentPreview: import("react").MemoExoticComponent<({ visible, attachments, onRemove }: AttachmentPreviewProps) => import("react").JSX.Element>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AttachmentPreview/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7E,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,iBAAiB,2EACS,sBAAsB,iCA4C5D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
interface AvatarSectionProps extends Partial<Pick<
|
|
1
|
+
import { type ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
2
|
+
interface AvatarSectionProps extends Partial<Pick<ConversationItem, 'peerType'>> {
|
|
3
3
|
avatar: string | null;
|
|
4
4
|
fullName: string;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/AvatarSection.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AvatarSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/ThreadCard/AvatarSection.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEhF,UAAU,kBAAmB,SAAQ,OAAO,CAC1C,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CACnC;IACC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,uEACS,kBAAkB,iCAuBpD,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;AAU1D,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,iCAsHzD,CAAC;AAIH,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASvD,eAAO,MAAM,WAAW,gEACI,sBAAsB,iCAmIjD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ChatContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIxE,eAAO,MAAM,WAAW,0CAEvB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,eAMjC,CAAC;AAuCF,eAAO,MAAM,YAAY,GAAI,cAAc,iBAAiB,gCAE3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,YA0C3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useUserListener.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"useUserListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useUserListener.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,YAoE3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFlow.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/flows/useFlow.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFlow.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/flows/useFlow.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAK3B,eAAO,MAAM,YAAY,kGAiCxB,CAAC;AAEF,eAAO,MAAM,UAAU,oIAqBtB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { DChatApplicationType
|
|
1
|
+
import type { DChatApplicationType } from '../types/chat';
|
|
2
2
|
type Params = {
|
|
3
3
|
applicationType: DChatApplicationType;
|
|
4
4
|
page: number;
|
|
5
5
|
enabled?: boolean;
|
|
6
6
|
};
|
|
7
|
-
export declare function useConversationList({ applicationType, page, enabled, }: Params): import("@tanstack/react-query").UseQueryResult<NoInfer<
|
|
7
|
+
export declare function useConversationList({ applicationType, page, enabled, }: Params): import("@tanstack/react-query").UseQueryResult<NoInfer<import("@droppii/openim-rn-client-sdk").ConversationItem[]>, Error>;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=useConversationList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationList.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useConversationList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useConversationList.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useConversationList.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,KAAK,MAAM,GAAG;IACZ,eAAe,EAAE,oBAAoB,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,IAAQ,EACR,OAAc,GACf,EAAE,MAAM,8HA+BR"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface FileWithUploadStatus {
|
|
2
|
+
id: string;
|
|
3
|
+
uri: string;
|
|
4
|
+
name: string;
|
|
5
|
+
size: number;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
uploadProgress: number;
|
|
8
|
+
error: string | null;
|
|
9
|
+
isUploading: boolean;
|
|
10
|
+
uploadedUrl?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface UseFileAttachmentReturn {
|
|
13
|
+
selectedFiles: FileWithUploadStatus[];
|
|
14
|
+
isFilePreviewVisible: boolean;
|
|
15
|
+
handleFileAttach: () => Promise<void>;
|
|
16
|
+
handleFileRemove: (id: string) => void;
|
|
17
|
+
clearAllFiles: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare const useFileAttachment: () => UseFileAttachmentReturn;
|
|
20
|
+
//# sourceMappingURL=useFileAttachment.d.ts.map
|
|
@@ -0,0 +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,uBAqIpC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DownloadStatus = 'idle' | 'downloading' | 'done' | 'error';
|
|
2
|
+
export interface DownloadState {
|
|
3
|
+
status: DownloadStatus;
|
|
4
|
+
progress: number;
|
|
5
|
+
receivedMB: number;
|
|
6
|
+
totalMB: number;
|
|
7
|
+
localPath: string | null;
|
|
8
|
+
error: string | null;
|
|
9
|
+
}
|
|
10
|
+
export declare const useFileDownload: (fileName: string, url: string) => {
|
|
11
|
+
state: DownloadState;
|
|
12
|
+
handleView: () => Promise<void>;
|
|
13
|
+
handleDownload: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useFileDownload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileDownload.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFileDownload.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAiBD,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM;;;;CAsK5D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Image as PickedImage } from 'react-native-image-crop-picker';
|
|
2
|
-
interface ImageWithUploadStatus {
|
|
2
|
+
export interface ImageWithUploadStatus {
|
|
3
3
|
image: PickedImage;
|
|
4
4
|
uploadProgress: number;
|
|
5
5
|
error: string | null;
|
|
@@ -16,5 +16,4 @@ export interface UseImageAttachmentReturn {
|
|
|
16
16
|
clearAllImages: () => void;
|
|
17
17
|
}
|
|
18
18
|
export declare const useImageAttachment: () => UseImageAttachmentReturn;
|
|
19
|
-
export {};
|
|
20
19
|
//# sourceMappingURL=useImageAttachment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImageAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useImageAttachment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAQ3E,
|
|
1
|
+
{"version":3,"file":"useImageAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useImageAttachment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAQ3E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB,QAAO,wBAiTrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinkPreview.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useLinkPreview/useLinkPreview.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useLinkPreview.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useLinkPreview/useLinkPreview.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;;;;;;;;;;EA+BvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatComposer.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatComposer.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAejD,eAAO,MAAM,YAAY,+TAkBpB,iBAAiB,iCA6XrB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChatDetailProps } from './types';
|
|
2
|
-
declare const ChatDetail: import("react").MemoExoticComponent<({ conversationId, enabled, title, subtitle, avatarUri, avatarFullName,
|
|
2
|
+
declare const ChatDetail: import("react").MemoExoticComponent<({ conversationId, enabled, title, subtitle, avatarUri, avatarFullName, showAddMember, getSubtitle, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressAvatar, renderChat, showQuickActions, quickActions, inputPlaceholder, onChangeInput, onPressAttach, onPressEmoji, attachmentActions, onQuickActionPress, onAttachmentAction, renderQuickAction, renderQuickActions, renderAttachmentAction, attachmentColumns, onPressUrl, }: ChatDetailProps) => import("react").JSX.Element>;
|
|
3
3
|
export default ChatDetail;
|
|
4
4
|
//# sourceMappingURL=ChatDetail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,SAAS,CAAC;AAOjB,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,SAAS,CAAC;AAOjB,QAAA,MAAM,UAAU,qdA8BX,eAAe,iCAqPnB,CAAC;AAUF,eAAe,UAAU,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChatDetailHeaderProps } from './types';
|
|
2
|
-
declare const ChatDetailHeader: import("react").MemoExoticComponent<({ title, subtitle, avatarUri, avatarFullName,
|
|
2
|
+
declare const ChatDetailHeader: import("react").MemoExoticComponent<({ title, subtitle, avatarUri, avatarFullName, showAddMember, conversationId, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressAvatar, }: ChatDetailHeaderProps) => import("react").JSX.Element>;
|
|
3
3
|
export default ChatDetailHeader;
|
|
4
4
|
//# sourceMappingURL=ChatDetailHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatDetailHeader.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetailHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,QAAA,MAAM,gBAAgB,4LAajB,qBAAqB,iCA4GzB,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatLinkPreview.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatLinkPreview.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAID,eAAO,MAAM,eAAe,2EACW,oBAAoB,
|
|
1
|
+
{"version":3,"file":"ChatLinkPreview.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatLinkPreview.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAID,eAAO,MAAM,eAAe,2EACW,oBAAoB,iCAqC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,eAAO,MAAM,cAAc,kNActB,aAAa,
|
|
1
|
+
{"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,eAAO,MAAM,cAAc,kNActB,aAAa,iCAsWjB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
1
|
+
import { type ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
2
|
+
import type { IConversationItemEx } from '../../types/chat';
|
|
3
|
+
export declare const getConversationTitle: (conversation?: ConversationItem) => string;
|
|
4
|
+
export declare const getConversationAvatarUri: (conversation?: ConversationItem) => string | null;
|
|
5
|
+
export declare const getConversationSubtitle: (conversation?: ConversationItem) => string | undefined;
|
|
6
|
+
export declare const shouldShowAddMember: (conversation?: ConversationItem) => boolean;
|
|
7
|
+
export declare const getConversationEx: (ex?: string) => IConversationItemEx | {};
|
|
6
8
|
//# sourceMappingURL=conversationHeader.utils.d.ts.map
|