@droppii-org/chat-mobile 0.2.6 → 0.2.7

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.
Files changed (116) hide show
  1. package/lib/module/components/ThreadCard/AvatarSection.js +4 -4
  2. package/lib/module/components/ThreadCard/AvatarSection.js.map +1 -1
  3. package/lib/module/components/ThreadCard/NamePrefixIcon.js +13 -16
  4. package/lib/module/components/ThreadCard/NamePrefixIcon.js.map +1 -1
  5. package/lib/module/components/ThreadCard/ThreadCard.js +13 -33
  6. package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
  7. package/lib/module/context/ChatContext.js +7 -6
  8. package/lib/module/context/ChatContext.js.map +1 -1
  9. package/lib/module/hooks/message/useSendMessage.js +101 -0
  10. package/lib/module/hooks/message/useSendMessage.js.map +1 -0
  11. package/lib/module/hooks/useChatMessages.js +37 -119
  12. package/lib/module/hooks/useChatMessages.js.map +1 -1
  13. package/lib/module/hooks/useConversationList.js +29 -17
  14. package/lib/module/hooks/useConversationList.js.map +1 -1
  15. package/lib/module/hooks/useLinkPreview/useLinkPreview.js +3 -2
  16. package/lib/module/hooks/useLinkPreview/useLinkPreview.js.map +1 -1
  17. package/lib/module/screens/chat-detail/ChatComposer.js +2 -2
  18. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  19. package/lib/module/screens/chat-detail/ChatDetail.js +14 -10
  20. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  21. package/lib/module/screens/chat-detail/ChatDetailHeader.js +5 -8
  22. package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
  23. package/lib/module/screens/chat-detail/ChatLinkPreview.js +1 -1
  24. package/lib/module/screens/chat-detail/ChatLinkPreview.js.map +1 -1
  25. package/lib/module/screens/chat-detail/ChatListLegend.js +0 -2
  26. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  27. package/lib/module/screens/chat-detail/conversationHeader.utils.js +7 -9
  28. package/lib/module/screens/chat-detail/conversationHeader.utils.js.map +1 -1
  29. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +10 -23
  30. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  31. package/lib/module/screens/chat-detail/legend/message-types.js +128 -6
  32. package/lib/module/screens/chat-detail/legend/message-types.js.map +1 -1
  33. package/lib/module/store/conversation.js +1 -1
  34. package/lib/module/store/conversation.js.map +1 -1
  35. package/lib/module/store/message.js +45 -0
  36. package/lib/module/store/message.js.map +1 -0
  37. package/lib/module/translation/resources/i18n.js +7 -1
  38. package/lib/module/translation/resources/i18n.js.map +1 -1
  39. package/lib/module/types/chat.js +2 -7
  40. package/lib/module/types/chat.js.map +1 -1
  41. package/lib/module/utils/conversation.js +34 -13
  42. package/lib/module/utils/conversation.js.map +1 -1
  43. package/lib/module/utils/legendListMessage.js +0 -3
  44. package/lib/module/utils/legendListMessage.js.map +1 -1
  45. package/lib/module/utils/message.js +5 -8
  46. package/lib/module/utils/message.js.map +1 -1
  47. package/lib/module/utils/url.js +3 -3
  48. package/lib/module/utils/url.js.map +1 -1
  49. package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts +2 -2
  50. package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts.map +1 -1
  51. package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts +3 -4
  52. package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts.map +1 -1
  53. package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
  54. package/lib/typescript/src/context/ChatContext.d.ts +1 -1
  55. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  56. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +12 -0
  57. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -0
  58. package/lib/typescript/src/hooks/useChatMessages.d.ts +0 -1
  59. package/lib/typescript/src/hooks/useChatMessages.d.ts.map +1 -1
  60. package/lib/typescript/src/hooks/useConversationList.d.ts +2 -1
  61. package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
  62. package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts.map +1 -1
  63. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
  64. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  65. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts +1 -1
  66. package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
  67. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  68. package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts +1 -1
  69. package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts.map +1 -1
  70. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +1 -3
  71. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  72. package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts +1 -0
  73. package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts.map +1 -1
  74. package/lib/typescript/src/screens/chat-detail/types.d.ts +6 -7
  75. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  76. package/lib/typescript/src/store/message.d.ts +3 -0
  77. package/lib/typescript/src/store/message.d.ts.map +1 -0
  78. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  79. package/lib/typescript/src/types/chat.d.ts +28 -27
  80. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  81. package/lib/typescript/src/types/common.d.ts +1 -0
  82. package/lib/typescript/src/types/common.d.ts.map +1 -1
  83. package/lib/typescript/src/utils/conversation.d.ts +3 -2
  84. package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
  85. package/lib/typescript/src/utils/legendListMessage.d.ts +0 -2
  86. package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
  87. package/lib/typescript/src/utils/message.d.ts.map +1 -1
  88. package/lib/typescript/src/utils/url.d.ts +1 -1
  89. package/lib/typescript/src/utils/url.d.ts.map +1 -1
  90. package/package.json +3 -3
  91. package/src/components/ThreadCard/AvatarSection.tsx +5 -8
  92. package/src/components/ThreadCard/NamePrefixIcon.tsx +27 -38
  93. package/src/components/ThreadCard/ThreadCard.tsx +16 -30
  94. package/src/context/ChatContext.tsx +12 -4
  95. package/src/hooks/message/useSendMessage.ts +136 -0
  96. package/src/hooks/useChatMessages.ts +70 -158
  97. package/src/hooks/useConversationList.ts +34 -16
  98. package/src/hooks/useLinkPreview/useLinkPreview.ts +3 -2
  99. package/src/screens/chat-detail/ChatComposer.tsx +2 -2
  100. package/src/screens/chat-detail/ChatDetail.tsx +29 -22
  101. package/src/screens/chat-detail/ChatDetailHeader.tsx +4 -10
  102. package/src/screens/chat-detail/ChatLinkPreview.tsx +1 -1
  103. package/src/screens/chat-detail/ChatListLegend.tsx +1 -2
  104. package/src/screens/chat-detail/conversationHeader.utils.ts +11 -14
  105. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +15 -33
  106. package/src/screens/chat-detail/legend/message-types.tsx +167 -12
  107. package/src/screens/chat-detail/types.ts +6 -8
  108. package/src/store/conversation.ts +1 -1
  109. package/src/store/message.ts +44 -0
  110. package/src/translation/resources/i18n.ts +6 -0
  111. package/src/types/chat.ts +31 -30
  112. package/src/types/common.ts +1 -0
  113. package/src/utils/conversation.ts +44 -17
  114. package/src/utils/legendListMessage.ts +0 -5
  115. package/src/utils/message.ts +10 -12
  116. package/src/utils/url.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["DChatType","getConversationTitle","conversation","peer","fullName","username","showName","getConversationAvatarUri","avatar","faceURL","getConversationSubtitle","undefined","chatType","GROUP","unreadLabel","unreadCount","applicationType","shouldShowAddMember"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/conversationHeader.utils.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,qBAAkB;AAG5C,OAAO,MAAMC,oBAAoB,GAC/BC,YAAgC,IACrB;EACX,IAAI,CAACA,YAAY,EAAE;IACjB,OAAO,UAAU;EACnB;EAEA,OACEA,YAAY,CAACC,IAAI,EAAEC,QAAQ,IAC3BF,YAAY,CAACC,IAAI,EAAEE,QAAQ,IAC3BH,YAAY,CAACI,QAAQ,IACrB,UAAU;AAEd,CAAC;AAED,OAAO,MAAMC,wBAAwB,GACnCL,YAAgC,IACd;EAClB,OAAOA,YAAY,EAAEC,IAAI,EAAEK,MAAM,IAAIN,YAAY,EAAEO,OAAO,IAAI,IAAI;AACpE,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAClCR,YAAgC,IACT;EACvB,IAAI,CAACA,YAAY,EAAE;IACjB,OAAOS,SAAS;EAClB;EAEA,IAAIT,YAAY,EAAEU,QAAQ,KAAKZ,SAAS,CAACa,KAAK,EAAE;IAC9C,MAAMC,WAAW,GACf,CAACZ,YAAY,EAAEa,WAAW,IAAI,CAAC,IAAI,CAAC,GAChC,GAAGb,YAAY,CAACa,WAAW,eAAe,GAC1C,kBAAkB;IACxB,OAAO,mBAAmBD,WAAW,EAAE;EACzC;EAEA,IAAIZ,YAAY,EAAEc,eAAe,KAAK,MAAM,EAAE;IAC5C,OAAO,+BAA+B;EACxC;;EAEA;EACA,OAAO,uBAAuB;AAChC,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAC9Bf,YAAgC,IACpB;EACZ,OAAOA,YAAY,EAAEU,QAAQ,KAAKZ,SAAS,CAACa,KAAK;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["PeerType","getConversationTitle","conversation","showName","getConversationAvatarUri","faceURL","getConversationSubtitle","undefined","peerType","Group","unreadLabel","unreadCount","Customer","applicationType","shouldShowAddMember"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/conversationHeader.utils.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,+BAA+B;AAGxD,OAAO,MAAMC,oBAAoB,GAC/BC,YAAgC,IACrB;EACX,IAAI,CAACA,YAAY,EAAE;IACjB,OAAO,UAAU;EACnB;EAEA,OAAOA,YAAY,CAACC,QAAQ,IAAI,UAAU;AAC5C,CAAC;AAED,OAAO,MAAMC,wBAAwB,GACnCF,YAAgC,IACd;EAClB,OAAOA,YAAY,EAAEG,OAAO,IAAI,IAAI;AACtC,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAClCJ,YAAgC,IACT;EACvB,IAAI,CAACA,YAAY,EAAE;IACjB,OAAOK,SAAS;EAClB;EAEA,IAAIL,YAAY,CAACM,QAAQ,KAAKR,QAAQ,CAACS,KAAK,EAAE;IAC5C,MAAMC,WAAW,GACf,CAACR,YAAY,CAACS,WAAW,IAAI,CAAC,IAAI,CAAC,GAC/B,GAAGT,YAAY,CAACS,WAAW,eAAe,GAC1C,kBAAkB;IACxB,OAAO,mBAAmBD,WAAW,EAAE;EACzC;EAEA,IACER,YAAY,CAACM,QAAQ,KAAKR,QAAQ,CAACY,QAAQ,IAC3CV,YAAY,CAACW,eAAe,KAAK,MAAM,EACvC;IACA,OAAO,+BAA+B;EACxC;EAEA,OAAO,uBAAuB;AAChC,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAC9BZ,YAAgC,IACpB;EACZ,OAAOA,YAAY,EAAEM,QAAQ,KAAKR,QAAQ,CAACS,KAAK;AAClD,CAAC","ignoreList":[]}
@@ -1,20 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo } from 'react';
4
- import { LegendTextMessage, LegendImageMessage, LegendVideoMessage, LegendFileMessage } from "./message-types.js";
5
- import { DChatMessageType as MessageTypeEnum } from "../../../types/message.js";
4
+ import { MessageType } from '@droppii/openim-rn-client-sdk';
5
+ import { LegendTextMessage, LegendImageMessage, LegendVideoMessage, LegendFileMessage, LegendLinkMessage } from "./message-types.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- // Message type to component mapping
8
7
  const messageComponentMap = {
9
- [MessageTypeEnum.Text]: LegendTextMessage,
10
- [MessageTypeEnum.Image]: LegendImageMessage,
11
- [MessageTypeEnum.Video]: LegendVideoMessage,
12
- [MessageTypeEnum.File]: LegendFileMessage,
13
- [MessageTypeEnum.Link]: LegendTextMessage,
14
- // Link renders as text for now
15
- [MessageTypeEnum.Order]: LegendTextMessage,
16
- // Order renders as text for now
17
- [MessageTypeEnum.Unsupported]: LegendTextMessage // Unsupported renders as text for now
8
+ [MessageType.TextMessage]: LegendTextMessage,
9
+ [MessageType.AtTextMessage]: LegendTextMessage,
10
+ [MessageType.QuoteMessage]: LegendTextMessage,
11
+ [MessageType.UrlTextMessage]: LegendLinkMessage,
12
+ [MessageType.PictureMessage]: LegendImageMessage,
13
+ [MessageType.VideoMessage]: LegendVideoMessage,
14
+ [MessageType.FileMessage]: LegendFileMessage
18
15
  };
19
16
 
20
17
  /**
@@ -23,20 +20,10 @@ const messageComponentMap = {
23
20
  */
24
21
  export const LegendChatMessage = /*#__PURE__*/memo(({
25
22
  message,
26
- messageType,
27
23
  isOutgoing,
28
24
  createdAtTime
29
25
  }) => {
30
- const MessageComponent = messageComponentMap[messageType];
31
-
32
- // Fallback to text message if type not found
33
- if (!MessageComponent) {
34
- return /*#__PURE__*/_jsx(LegendTextMessage, {
35
- message: message,
36
- isOutgoing: isOutgoing,
37
- createdAtTime: createdAtTime
38
- });
39
- }
26
+ const MessageComponent = messageComponentMap[message?.contentType] ?? LegendTextMessage;
40
27
  return /*#__PURE__*/_jsx(MessageComponent, {
41
28
  message: message,
42
29
  isOutgoing: isOutgoing,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","LegendTextMessage","LegendImageMessage","LegendVideoMessage","LegendFileMessage","DChatMessageType","MessageTypeEnum","jsx","_jsx","messageComponentMap","Text","Image","Video","File","Link","Order","Unsupported","LegendChatMessage","message","messageType","isOutgoing","createdAtTime","MessageComponent","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAuB,OAAO;AAG3C,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,QACZ,oBAAiB;AACxB,SAASC,gBAAgB,IAAIC,eAAe,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS7E;AACA,MAAMC,mBAEL,GAAG;EACF,CAACH,eAAe,CAACI,IAAI,GAAGT,iBAAiB;EACzC,CAACK,eAAe,CAACK,KAAK,GAAGT,kBAAkB;EAC3C,CAACI,eAAe,CAACM,KAAK,GAAGT,kBAAkB;EAC3C,CAACG,eAAe,CAACO,IAAI,GAAGT,iBAAiB;EACzC,CAACE,eAAe,CAACQ,IAAI,GAAGb,iBAAiB;EAAE;EAC3C,CAACK,eAAe,CAACS,KAAK,GAAGd,iBAAiB;EAAE;EAC5C,CAACK,eAAe,CAACU,WAAW,GAAGf,iBAAiB,CAAE;AACpD,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMgB,iBAAiB,gBAAGjB,IAAI,CACnC,CAAC;EACCkB,OAAO;EACPC,WAAW;EACXC,UAAU;EACVC;AACsB,CAAC,KAAK;EAC5B,MAAMC,gBAAgB,GAAGb,mBAAmB,CAACU,WAAW,CAAC;;EAEzD;EACA,IAAI,CAACG,gBAAgB,EAAE;IACrB,oBACEd,IAAA,CAACP,iBAAiB;MAChBiB,OAAO,EAAEA,OAAQ;MACjBE,UAAU,EAAEA,UAAW;MACvBC,aAAa,EAAEA;IAAc,CAC9B,CAAC;EAEN;EAEA,oBACEb,IAAA,CAACc,gBAAgB;IACfJ,OAAO,EAAEA,OAAQ;IACjBE,UAAU,EAAEA,UAAW;IACvBC,aAAa,EAAEA;EAAc,CAC9B,CAAC;AAEN,CACF,CAAC;AAEDJ,iBAAiB,CAACM,WAAW,GAAG,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["memo","MessageType","LegendTextMessage","LegendImageMessage","LegendVideoMessage","LegendFileMessage","LegendLinkMessage","jsx","_jsx","messageComponentMap","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","VideoMessage","FileMessage","LegendChatMessage","message","isOutgoing","createdAtTime","MessageComponent","contentType","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAE5B,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,EACjBC,iBAAiB,QACZ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQzB,MAAMC,mBAAqE,GAAG;EAC5E,CAACR,WAAW,CAACS,WAAW,GAAGR,iBAAiB;EAC5C,CAACD,WAAW,CAACU,aAAa,GAAGT,iBAAiB;EAC9C,CAACD,WAAW,CAACW,YAAY,GAAGV,iBAAiB;EAC7C,CAACD,WAAW,CAACY,cAAc,GAAGP,iBAAiB;EAC/C,CAACL,WAAW,CAACa,cAAc,GAAGX,kBAAkB;EAChD,CAACF,WAAW,CAACc,YAAY,GAAGX,kBAAkB;EAC9C,CAACH,WAAW,CAACe,WAAW,GAAGX;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMY,iBAAiB,gBAAGjB,IAAI,CACnC,CAAC;EAAEkB,OAAO;EAAEC,UAAU;EAAEC;AAAsC,CAAC,KAAK;EAClE,MAAMC,gBAAgB,GACpBZ,mBAAmB,CAACS,OAAO,EAAEI,WAAW,CAAC,IAAIpB,iBAAiB;EAEhE,oBACEM,IAAA,CAACa,gBAAgB;IACfH,OAAO,EAAEA,OAAQ;IACjBC,UAAU,EAAEA,UAAW;IACvBC,aAAa,EAAEA;EAAc,CAC9B,CAAC;AAEN,CACF,CAAC;AAEDH,iBAAiB,CAACM,WAAW,GAAG,mBAAmB","ignoreList":[]}
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo } from 'react';
4
- import { StyleSheet } from 'react-native';
5
- import { KContainer, KLabel, KSpacingValue } from '@droppii/libs';
4
+ import { Linking, StyleSheet, Text } from 'react-native';
5
+ import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
6
  import { getMessageText } from "../../../utils/legendListMessage.js";
7
7
  import { CHAT_BUBBLE_COLORS } from "../constants.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const formatMessageTime = createdAt => {
10
10
  const date = new Date(createdAt);
11
- if (Number.isNaN(date.getTime())) {
12
- return '';
13
- }
11
+ if (Number.isNaN(date.getTime())) return '';
14
12
  return date.toLocaleTimeString('vi-VN', {
15
13
  hour: '2-digit',
16
14
  minute: '2-digit',
@@ -41,7 +39,7 @@ export const LegendTextMessage = /*#__PURE__*/memo(({
41
39
  }), !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
42
40
  typo: "TextXsNormal",
43
41
  color: CHAT_BUBBLE_COLORS.timestamp,
44
- marginL: '0.25rem',
42
+ marginL: "0.25rem",
45
43
  children: timeLabel
46
44
  }) : null]
47
45
  });
@@ -103,6 +101,107 @@ export const LegendFileMessage = /*#__PURE__*/memo(({
103
101
  });
104
102
  });
105
103
  LegendFileMessage.displayName = 'LegendFileMessage';
104
+
105
+ // Link Message Component
106
+ const parseUrlMetadata = ex => {
107
+ if (!ex) return undefined;
108
+ try {
109
+ return JSON.parse(ex).urlMetadata;
110
+ } catch {
111
+ return undefined;
112
+ }
113
+ };
114
+ const renderTextWithLinks = (content, urls) => {
115
+ if (!urls.length) {
116
+ return /*#__PURE__*/_jsx(KLabel.Text, {
117
+ typo: "TextMdNormal",
118
+ color: CHAT_BUBBLE_COLORS.text,
119
+ children: content
120
+ });
121
+ }
122
+ const parts = [];
123
+ let remaining = content;
124
+ for (const url of urls) {
125
+ const idx = remaining.indexOf(url);
126
+ if (idx === -1) continue;
127
+ if (idx > 0) parts.push({
128
+ text: remaining.slice(0, idx),
129
+ isUrl: false
130
+ });
131
+ parts.push({
132
+ text: url,
133
+ isUrl: true
134
+ });
135
+ remaining = remaining.slice(idx + url.length);
136
+ }
137
+ if (remaining) parts.push({
138
+ text: remaining,
139
+ isUrl: false
140
+ });
141
+ return /*#__PURE__*/_jsx(KLabel.Text, {
142
+ typo: "TextMdNormal",
143
+ color: CHAT_BUBBLE_COLORS.text,
144
+ children: parts.map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(Text, {
145
+ style: styles.urlText,
146
+ onPress: () => Linking.openURL(part.text),
147
+ children: part.text
148
+ }, i) : /*#__PURE__*/_jsx(Text, {
149
+ children: part.text
150
+ }, i))
151
+ });
152
+ };
153
+ export const LegendLinkMessage = /*#__PURE__*/memo(({
154
+ message,
155
+ isOutgoing,
156
+ createdAtTime
157
+ }) => {
158
+ const content = message?.urlTextElem?.content;
159
+ const urls = message?.urlTextElem?.urls ?? [];
160
+ const metadata = parseUrlMetadata(message.ex);
161
+ const timeLabel = formatMessageTime(createdAtTime);
162
+ return /*#__PURE__*/_jsxs(KContainer.View, {
163
+ style: styles.wrapper,
164
+ children: [/*#__PURE__*/_jsxs(KContainer.View, {
165
+ style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
166
+ children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
167
+ style: styles.textRow,
168
+ children: renderTextWithLinks(content, urls)
169
+ }), metadata && /*#__PURE__*/_jsxs(KContainer.Touchable, {
170
+ style: styles.card,
171
+ onPress: () => metadata.url && Linking.openURL(metadata.url),
172
+ children: [!!metadata.image && /*#__PURE__*/_jsx(KImage.Base, {
173
+ uri: metadata.image,
174
+ style: styles.cardThumb,
175
+ resizeMode: "cover"
176
+ }), /*#__PURE__*/_jsxs(KContainer.View, {
177
+ style: styles.cardBody,
178
+ children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
179
+ typo: "TextNmMedium",
180
+ color: KColors.palette.gray.w900,
181
+ numberOfLines: 1,
182
+ children: metadata.title
183
+ }), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
184
+ typo: "TextXsMedium",
185
+ color: KColors.palette.primary.w400,
186
+ numberOfLines: 1,
187
+ children: metadata.url
188
+ }), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
189
+ typo: "TextXsNormal",
190
+ color: KColors.gray.normal,
191
+ numberOfLines: 2,
192
+ children: metadata.description
193
+ })]
194
+ })]
195
+ })]
196
+ }), !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
197
+ typo: "TextXsNormal",
198
+ color: CHAT_BUBBLE_COLORS.timestamp,
199
+ marginL: "0.25rem",
200
+ children: timeLabel
201
+ }) : null]
202
+ });
203
+ });
204
+ LegendLinkMessage.displayName = 'LegendLinkMessage';
106
205
  const styles = StyleSheet.create({
107
206
  wrapper: {
108
207
  maxWidth: '80%'
@@ -117,6 +216,29 @@ const styles = StyleSheet.create({
117
216
  },
118
217
  bubbleSent: {
119
218
  backgroundColor: CHAT_BUBBLE_COLORS.sent
219
+ },
220
+ textRow: {
221
+ paddingHorizontal: KSpacingValue['0.25rem']
222
+ },
223
+ urlText: {
224
+ color: KColors.palette.primary.w400,
225
+ fontWeight: '500'
226
+ },
227
+ card: {
228
+ borderRadius: KSpacingValue['0.75rem'],
229
+ borderWidth: 1,
230
+ borderColor: 'rgba(57,62,64,0.1)',
231
+ backgroundColor: KColors.white,
232
+ overflow: 'hidden'
233
+ },
234
+ cardThumb: {
235
+ width: '100%',
236
+ aspectRatio: 16 / 9
237
+ },
238
+ cardBody: {
239
+ paddingHorizontal: KSpacingValue['0.75rem'],
240
+ paddingVertical: KSpacingValue['0.5rem'],
241
+ gap: 2
120
242
  }
121
243
  });
122
244
  //# sourceMappingURL=message-types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KSpacingValue","getMessageText","CHAT_BUBBLE_COLORS","jsx","_jsx","jsxs","_jsxs","formatMessageTime","createdAt","date","Date","Number","isNaN","getTime","toLocaleTimeString","hour","minute","hour12","LegendTextMessage","message","isOutgoing","createdAtTime","messageText","timeLabel","trim","View","style","styles","wrapper","children","bubble","bubbleSent","bubbleReceived","Text","typo","color","text","timestamp","marginL","displayName","LegendImageMessage","LegendVideoMessage","LegendFileMessage","fileName","fileElem","content","create","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/message-types.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","Linking","StyleSheet","Text","KContainer","KImage","KLabel","KColors","KSpacingValue","getMessageText","CHAT_BUBBLE_COLORS","jsx","_jsx","jsxs","_jsxs","formatMessageTime","createdAt","date","Date","Number","isNaN","getTime","toLocaleTimeString","hour","minute","hour12","LegendTextMessage","message","isOutgoing","createdAtTime","messageText","timeLabel","trim","View","style","styles","wrapper","children","bubble","bubbleSent","bubbleReceived","typo","color","text","timestamp","marginL","displayName","LegendImageMessage","LegendVideoMessage","LegendFileMessage","fileName","fileElem","content","parseUrlMetadata","ex","undefined","JSON","parse","urlMetadata","renderTextWithLinks","urls","length","parts","remaining","url","idx","indexOf","push","slice","isUrl","map","part","i","urlText","onPress","openURL","LegendLinkMessage","urlTextElem","metadata","textRow","Touchable","card","image","Base","uri","cardThumb","resizeMode","cardBody","title","palette","gray","w900","numberOfLines","primary","w400","description","normal","create","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","fontWeight","borderWidth","borderColor","white","overflow","width","aspectRatio","gap"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/message-types.tsx"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ export const useConversationStore = create()((set, get) => ({
18
18
  },
19
19
  updateConversations(conversations) {
20
20
  set(sortConversation(conversations.reduce((pre, curr) => {
21
- pre[curr.conversationId] = curr;
21
+ pre[curr.conversationID] = curr;
22
22
  return pre;
23
23
  }, {
24
24
  ...get().map
@@ -1 +1 @@
1
- {"version":3,"names":["create","sortConversation","mergeOpenIMIntoConversation","useConversationStore","set","get","list","map","newConversationSignal","setCurrentConversation","id","currentConversationId","getCurrentConversation","updateConversations","conversations","reduce","pre","curr","conversationId","mergeOpenIMConversations","currentMap","hasUnknown","changed","nextMap","openim","existing","conversationID","s","removeConversation","newMap","filter","item","updateLastMessage","message","conversation","lastMessage","reset","undefined","useConversation","state"],"sourceRoot":"../../../src","sources":["store/conversation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","sortConversation","mergeOpenIMIntoConversation","useConversationStore","set","get","list","map","newConversationSignal","setCurrentConversation","id","currentConversationId","getCurrentConversation","updateConversations","conversations","reduce","pre","curr","conversationID","mergeOpenIMConversations","currentMap","hasUnknown","changed","nextMap","openim","existing","s","removeConversation","newMap","filter","item","updateLastMessage","message","conversation","lastMessage","reset","undefined","useConversation","state"],"sourceRoot":"../../../src","sources":["store/conversation.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ import { create } from 'zustand';
4
+ import { mergeMessages } from "../utils/message.js";
5
+ export const useMessageStore = create()((set, get) => ({
6
+ messages: [],
7
+ hasMoreEarlier: false,
8
+ hasMoreNewer: false,
9
+ setMessages: (messages, hasMore) => {
10
+ set({
11
+ messages,
12
+ hasMoreEarlier: hasMore
13
+ });
14
+ },
15
+ pushNewMessage: message => {
16
+ set(state => ({
17
+ messages: mergeMessages(state.messages, [message])
18
+ }));
19
+ },
20
+ updateOneMessage: message => {
21
+ const tmpList = [...get().messages];
22
+ const idx = tmpList.findIndex(msg => msg.clientMsgID === message.clientMsgID);
23
+ if (idx < 0) return;
24
+ tmpList[idx] = {
25
+ ...tmpList[idx],
26
+ ...message
27
+ };
28
+ set({
29
+ messages: tmpList
30
+ });
31
+ },
32
+ deleteOneMessage: clientMsgID => {
33
+ set(state => ({
34
+ messages: state.messages.filter(msg => msg.clientMsgID !== clientMsgID)
35
+ }));
36
+ },
37
+ reset: () => {
38
+ set({
39
+ messages: [],
40
+ hasMoreEarlier: false,
41
+ hasMoreNewer: false
42
+ });
43
+ }
44
+ }));
45
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["create","mergeMessages","useMessageStore","set","get","messages","hasMoreEarlier","hasMoreNewer","setMessages","hasMore","pushNewMessage","message","state","updateOneMessage","tmpList","idx","findIndex","msg","clientMsgID","deleteOneMessage","filter","reset"],"sourceRoot":"../../../src","sources":["store/message.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAGhC,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,OAAO,MAAMC,eAAe,GAAGF,MAAM,CAAe,CAAC,CAAC,CAACG,GAAG,EAAEC,GAAG,MAAM;EACnEC,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,KAAK;EACrBC,YAAY,EAAE,KAAK;EAEnBC,WAAW,EAAEA,CAACH,QAAQ,EAAEI,OAAO,KAAK;IAClCN,GAAG,CAAC;MAAEE,QAAQ;MAAEC,cAAc,EAAEG;IAAQ,CAAC,CAAC;EAC5C,CAAC;EAEDC,cAAc,EAAGC,OAAoB,IAAK;IACxCR,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEJ,aAAa,CAACW,KAAK,CAACP,QAAQ,EAAE,CAACM,OAAO,CAAiB;IACnE,CAAC,CAAC,CAAC;EACL,CAAC;EAEDE,gBAAgB,EAAGF,OAAoB,IAAK;IAC1C,MAAMG,OAAO,GAAG,CAAC,GAAGV,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACnC,MAAMU,GAAG,GAAGD,OAAO,CAACE,SAAS,CAC1BC,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKP,OAAO,CAACO,WACvC,CAAC;IACD,IAAIH,GAAG,GAAG,CAAC,EAAE;IACbD,OAAO,CAACC,GAAG,CAAC,GAAG;MAAE,GAAGD,OAAO,CAACC,GAAG,CAAE;MAAE,GAAGJ;IAAQ,CAAiB;IAC/DR,GAAG,CAAC;MAAEE,QAAQ,EAAES;IAAQ,CAAC,CAAC;EAC5B,CAAC;EAEDK,gBAAgB,EAAGD,WAAmB,IAAK;IACzCf,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEO,KAAK,CAACP,QAAQ,CAACe,MAAM,CAAEH,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKA,WAAW;IAC1E,CAAC,CAAC,CAAC;EACL,CAAC;EAEDG,KAAK,EAAEA,CAAA,KAAM;IACXlB,GAAG,CAAC;MACFE,QAAQ,EAAE,EAAE;MACZC,cAAc,EAAE,KAAK;MACrBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,13 @@
2
2
 
3
3
  const i18nKey = {
4
4
  thread_card_bot_crm_name: 'Droppii Hỗ Trợ',
5
- thread_card_fallback_name: 'Người dùng'
5
+ thread_card_fallback_name: 'Người dùng',
6
+ msg_type_image: '[Hình ảnh]',
7
+ msg_type_voice: '[Tin nhắn thoại]',
8
+ msg_type_video: '[Video]',
9
+ msg_type_file: '[File đính kèm]',
10
+ msg_type_link: '[Liên kết]',
11
+ msg_type_revoke: 'Đã thu hồi tin nhắn'
6
12
  };
7
13
  export default {
8
14
  vi: i18nKey
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","thread_card_bot_crm_name","thread_card_fallback_name","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtCC,wBAAwB,EAAE,gBAAgB;EAC1CC,yBAAyB,EAAE;AAC7B,CAAC;AAED,eAAe;EACbC,EAAE,EAAEH;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","thread_card_bot_crm_name","thread_card_fallback_name","msg_type_image","msg_type_voice","msg_type_video","msg_type_file","msg_type_link","msg_type_revoke","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtCC,wBAAwB,EAAE,gBAAgB;EAC1CC,yBAAyB,EAAE,YAAY;EACvCC,cAAc,EAAE,YAAY;EAC5BC,cAAc,EAAE,kBAAkB;EAClCC,cAAc,EAAE,SAAS;EACzBC,aAAa,EAAE,iBAAiB;EAChCC,aAAa,EAAE,YAAY;EAC3BC,eAAe,EAAE;AACnB,CAAC;AAED,eAAe;EACbC,EAAE,EAAET;AACN,CAAC","ignoreList":[]}
@@ -6,8 +6,8 @@ export const EventProvider = {
6
6
  netcore: 'netcore'
7
7
  };
8
8
  export let DChatApplicationType = /*#__PURE__*/function (DChatApplicationType) {
9
- DChatApplicationType["BIZ"] = "BIZ";
10
- DChatApplicationType["MALL"] = "MALL";
9
+ DChatApplicationType["DROPPII"] = "DROPPII";
10
+ DChatApplicationType["OBEFE"] = "OBEFE";
11
11
  return DChatApplicationType;
12
12
  }({});
13
13
  export let DChatCategory = /*#__PURE__*/function (DChatCategory) {
@@ -18,11 +18,6 @@ export let DChatCategory = /*#__PURE__*/function (DChatCategory) {
18
18
  DChatCategory["BIZ_BOT_CRM"] = "BIZ_BOT_CRM";
19
19
  return DChatCategory;
20
20
  }({});
21
- export let DChatType = /*#__PURE__*/function (DChatType) {
22
- DChatType["SINGLE"] = "SINGLE";
23
- DChatType["GROUP"] = "GROUP";
24
- return DChatType;
25
- }({});
26
21
  export let DMemberRole = /*#__PURE__*/function (DMemberRole) {
27
22
  DMemberRole["AGENT"] = "AGENT";
28
23
  DMemberRole["MEMBER"] = "MEMBER";
@@ -1 +1 @@
1
- {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DChatType","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAQA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAiBV,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,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAKrB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAQA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAkBV,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":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { SessionType } from '@droppii/openim-rn-client-sdk';
3
+ import { MessageType, SessionType } from '@droppii/openim-rn-client-sdk';
4
+ import { trans } from "../translation/index.js";
4
5
  export const conversationCompare = (a, b) => {
5
6
  if (a.isPinned !== b.isPinned) return a.isPinned ? -1 : 1;
6
7
  const aCompare = a.draftTextTime > a.latestMsgSendTime ? a.draftTextTime : a.latestMsgSendTime;
@@ -8,30 +9,28 @@ export const conversationCompare = (a, b) => {
8
9
  return bCompare - aCompare;
9
10
  };
10
11
  export const dConversationCompare = (a, b) => {
11
- const aIsPinned = a.pinnedAt != null;
12
- const bIsPinned = b.pinnedAt != null;
13
- if (aIsPinned !== bIsPinned) return aIsPinned ? -1 : 1;
14
- const aCreateTime = a.lastMessage?.createTime ?? 0;
15
- const bCreateTime = b.lastMessage?.createTime ?? 0;
16
- return bCreateTime - aCreateTime;
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;
17
16
  };
18
- export const mergeOpenIMIntoConversation = (droppii, openim) => {
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
+ export const mergeOpenIMIntoConversation = (existing, openim) => {
20
18
  const {
21
19
  latestMsg,
22
- conversationID,
23
20
  ...openimRest
24
21
  } = openim;
25
- let lastMessage = droppii.lastMessage;
22
+ let lastMessage = existing.lastMessage;
26
23
  if (latestMsg) {
27
24
  try {
28
25
  lastMessage = JSON.parse(latestMsg);
29
26
  } catch {
30
- // keep droppii lastMessage if parse fails
27
+ // keep existing lastMessage if parse fails
31
28
  }
32
29
  }
30
+
31
+ // Spread existing first so peerType (not in ConversationItem) is preserved
33
32
  return {
34
- ...droppii,
33
+ ...existing,
35
34
  ...openimRest,
36
35
  lastMessage
37
36
  };
@@ -47,4 +46,26 @@ export const sortConversation = map => {
47
46
  list
48
47
  };
49
48
  };
49
+ export const generateContentBasedOnMessageType = (contentType, plainText) => {
50
+ switch (contentType) {
51
+ case MessageType.TextMessage:
52
+ case MessageType.QuoteMessage:
53
+ case MessageType.LogTextMessage:
54
+ return plainText || '';
55
+ case MessageType.PictureMessage:
56
+ return trans('msg_type_image');
57
+ case MessageType.VoiceMessage:
58
+ return trans('msg_type_voice');
59
+ case MessageType.VideoMessage:
60
+ return trans('msg_type_video');
61
+ case MessageType.FileMessage:
62
+ return trans('msg_type_file');
63
+ case MessageType.UrlTextMessage:
64
+ return trans('msg_type_link');
65
+ case MessageType.RevokeMessage:
66
+ return trans('revoked');
67
+ default:
68
+ return '';
69
+ }
70
+ };
50
71
  //# sourceMappingURL=conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","dConversationCompare","aIsPinned","pinnedAt","bIsPinned","aCreateTime","lastMessage","createTime","bCreateTime","mergeOpenIMIntoConversation","droppii","openim","latestMsg","conversationID","openimRest","JSON","parse","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":";;AAAA,SACEA,WAAW,QAEN,+BAA+B;AAGtC,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,oBAAoB,GAAGA,CAClCP,CAAoB,EACpBC,CAAoB,KACjB;EACH,MAAMO,SAAS,GAAGR,CAAC,CAACS,QAAQ,IAAI,IAAI;EACpC,MAAMC,SAAS,GAAGT,CAAC,CAACQ,QAAQ,IAAI,IAAI;EAEpC,IAAID,SAAS,KAAKE,SAAS,EAAE,OAAOF,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;EAEtD,MAAMG,WAAW,GAAGX,CAAC,CAACY,WAAW,EAAEC,UAAU,IAAI,CAAC;EAClD,MAAMC,WAAW,GAAGb,CAAC,CAACW,WAAW,EAAEC,UAAU,IAAI,CAAC;EAElD,OAAOC,WAAW,GAAGH,WAAW;AAClC,CAAC;AAED,OAAO,MAAMI,2BAA2B,GAAGA,CACzCC,OAA0B,EAC1BC,MAAwB,KACF;EACtB;EACA,MAAM;IAAEC,SAAS;IAAEC,cAAc;IAAE,GAAGC;EAAW,CAAC,GAAGH,MAAM;EAE3D,IAAIL,WAAqC,GAAGI,OAAO,CAACJ,WAAW;EAC/D,IAAIM,SAAS,EAAE;IACb,IAAI;MACFN,WAAW,GAAGS,IAAI,CAACC,KAAK,CAACJ,SAAS,CAAiB;IACrD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAO;IACL,GAAGF,OAAO;IACV,GAAGI,UAAU;IACbR;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMW,iBAAiB,GAAGA,CAC/BC,WAAwB,EACxBC,QAAiB,EACjBC,UAAmB,KAChB;EACH,MAAMC,MAAM,GACVH,WAAW,KAAK1B,WAAW,CAAC8B,MAAM,GAC9B,IAAI,GACJJ,WAAW,KAAK1B,WAAW,CAAC+B,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,GAAsC,IAAK;EAC1E,MAAMC,IAAI,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,IAAI,CAAC,CAACtC,CAAC,EAAEC,CAAC,KACtCM,oBAAoB,CAAC2B,GAAG,CAAClC,CAAC,CAAC,EAAGkC,GAAG,CAACjC,CAAC,CAAE,CACvC,CAAC;EACD,OAAO;IAAEiC,GAAG;IAAEC;EAAK,CAAC;AACtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MessageType","SessionType","trans","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","dConversationCompare","aTime","bTime","mergeOpenIMIntoConversation","existing","openim","latestMsg","openimRest","lastMessage","JSON","parse","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":"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","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import { MessageType } from '@droppii/openim-rn-client-sdk';
4
- import { resolveChatMessageType } from "./resolveMessageType.js";
5
4
  /**
6
5
  * Extract message text based on content type
7
6
  */
@@ -50,11 +49,9 @@ export const precomputeLegendListData = messages => {
50
49
  const messageId = message.clientMsgID || message.serverMsgID || `temp-${message.sendTime || message.createTime}-${index}`;
51
50
  const createdAt = message.sendTime || message.createTime;
52
51
  const day = new Date(createdAt).getDate();
53
- const messageType = resolveChatMessageType(message);
54
52
  dataMap.set(messageId, {
55
53
  messageId,
56
54
  dayStart: lastDay !== day,
57
- messageType,
58
55
  createdAt
59
56
  });
60
57
  lastDay = day;
@@ -1 +1 @@
1
- {"version":3,"names":["MessageType","resolveChatMessageType","getMessageText","message","contentType","TextMessage","textElem","content","AtTextMessage","atTextElem","text","QuoteMessage","quoteElem","PictureMessage","VoiceMessage","soundElem","sourceUrl","VideoMessage","videoElem","videoUrl","FileMessage","fileElem","fileName","CardMessage","cardElem","nickname","LocationMessage","locationElem","description","CustomMessage","customElem","FaceMessage","notificationElem","detail","precomputeLegendListData","messages","dataMap","Map","lastDay","forEach","index","messageId","clientMsgID","serverMsgID","sendTime","createTime","createdAt","day","Date","getDate","messageType","set","dayStart","computeDayStarts","dayStartMap"],"sourceRoot":"../../../src","sources":["utils/legendListMessage.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MessageType","getMessageText","message","contentType","TextMessage","textElem","content","AtTextMessage","atTextElem","text","QuoteMessage","quoteElem","PictureMessage","VoiceMessage","soundElem","sourceUrl","VideoMessage","videoElem","videoUrl","FileMessage","fileElem","fileName","CardMessage","cardElem","nickname","LocationMessage","locationElem","description","CustomMessage","customElem","FaceMessage","notificationElem","detail","precomputeLegendListData","messages","dataMap","Map","lastDay","forEach","index","messageId","clientMsgID","serverMsgID","sendTime","createTime","createdAt","day","Date","getDate","set","dayStart","computeDayStarts","dayStartMap"],"sourceRoot":"../../../src","sources":["utils/legendListMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { SessionType } from '@droppii/openim-rn-client-sdk';
4
- import { DChatType } from "../types/chat.js";
3
+ import { PeerType, SessionType } from '@droppii/openim-rn-client-sdk';
5
4
  import { getConversationID } from "./conversation.js";
6
5
  const getMessageTime = message => message.sendTime || message.createTime || 0;
7
6
  const getMessageKey = message => message.clientMsgID || message.serverMsgID;
@@ -72,11 +71,9 @@ export const getReceiverId = conversation => {
72
71
  groupID: '',
73
72
  recvID: ''
74
73
  };
75
- const isGroupChat = conversation.chatType === DChatType.GROUP;
76
- if (isGroupChat) {
77
- const isBot = conversation.chatCategory?.includes('BOT');
78
- const groupID = isBot ? conversation.conversationId?.slice(3) // Remove sg_
79
- : conversation.groupID;
74
+ if (conversation.peerType === PeerType.Group) {
75
+ // Group conversation: groupID is embedded after the "sg_" prefix
76
+ const groupID = conversation.groupID || conversation.conversationID.slice(3);
80
77
  return {
81
78
  groupID: groupID ?? '',
82
79
  recvID: ''
@@ -84,7 +81,7 @@ export const getReceiverId = conversation => {
84
81
  }
85
82
  return {
86
83
  groupID: '',
87
- recvID: conversation.peer.id ?? ''
84
+ recvID: conversation.userID ?? ''
88
85
  };
89
86
  };
90
87
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SessionType","DChatType","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","isGroupChat","chatType","GROUP","isBot","chatCategory","includes","slice","peer","id"],"sourceRoot":"../../../src","sources":["utils/message.ts"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- const URL_REGEX = /https?:\/\/[^\s]+/i;
4
- export function extractFirstUrl(text) {
5
- return text.match(URL_REGEX)?.[0];
3
+ const URL_REGEX = /\bhttps?:\/\/[^\s<>"']*[^\s<>"',.!?()\[\]{}]/g;
4
+ export function extractUrls(text) {
5
+ return text.match(URL_REGEX) ?? [];
6
6
  }
7
7
  //# sourceMappingURL=url.js.map