@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
@@ -2,15 +2,15 @@
2
2
 
3
3
  import { memo } from 'react';
4
4
  import { Avatar } from "../Avatar/index.js";
5
- import { DChatCategory } from "../../types/chat.js";
5
+ import { PeerType } from '@droppii/openim-rn-client-sdk';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  export const AvatarSection = /*#__PURE__*/memo(({
8
8
  avatar,
9
9
  fullName,
10
- chatCategory,
10
+ peerType,
11
11
  applicationType
12
12
  }) => {
13
- if (chatCategory === DChatCategory.BIZ_BOT_CRM || chatCategory === DChatCategory.BIZ_BOT_PDP) {
13
+ if (peerType === PeerType.Bot) {
14
14
  return /*#__PURE__*/_jsx(Avatar, {
15
15
  source: avatar,
16
16
  fullName: fullName,
@@ -19,7 +19,7 @@ export const AvatarSection = /*#__PURE__*/memo(({
19
19
  }
20
20
  });
21
21
  }
22
- if (applicationType === 'MALL') {
22
+ if (peerType === PeerType.Customer || applicationType === 'MALL') {
23
23
  return /*#__PURE__*/_jsx(Avatar, {
24
24
  source: avatar,
25
25
  fullName: fullName,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","Avatar","DChatCategory","jsx","_jsx","AvatarSection","avatar","fullName","chatCategory","applicationType","BIZ_BOT_CRM","BIZ_BOT_PDP","source","badge","variant","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/AvatarSection.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,QAAQ,oBAAW;AAClC,SAASC,aAAa,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUjD,OAAO,MAAMC,aAAa,gBAAGL,IAAI,CAC/B,CAAC;EAAEM,MAAM;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAoC,CAAC,KAAK;EAC3E,IACED,YAAY,KAAKN,aAAa,CAACQ,WAAW,IAC1CF,YAAY,KAAKN,aAAa,CAACS,WAAW,EAC1C;IACA,oBACEP,IAAA,CAACH,MAAM;MACLW,MAAM,EAAEN,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBM,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAM;IAAE,CAC3B,CAAC;EAEN;EAEA,IAAIL,eAAe,KAAK,MAAM,EAAE;IAC9B,oBACEL,IAAA,CAACH,MAAM;MACLW,MAAM,EAAEN,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBM,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,CAC5B,CAAC;EAEN;EAEA,oBAAOV,IAAA,CAACH,MAAM;IAACW,MAAM,EAAEN,MAAO;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AACvD,CACF,CAAC;AAEDF,aAAa,CAACU,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["memo","Avatar","PeerType","jsx","_jsx","AvatarSection","avatar","fullName","peerType","applicationType","Bot","source","badge","variant","Customer","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/AvatarSection.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,QAAQ,oBAAW;AAElC,SAASC,QAAQ,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASzD,OAAO,MAAMC,aAAa,gBAAGL,IAAI,CAC/B,CAAC;EAAEM,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC;AAAoC,CAAC,KAAK;EACvE,IAAID,QAAQ,KAAKN,QAAQ,CAACQ,GAAG,EAAE;IAC7B,oBACEN,IAAA,CAACH,MAAM;MACLU,MAAM,EAAEL,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBK,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAM;IAAE,CAC3B,CAAC;EAEN;EAEA,IAAIL,QAAQ,KAAKN,QAAQ,CAACY,QAAQ,IAAIL,eAAe,KAAK,MAAM,EAAE;IAChE,oBACEL,IAAA,CAACH,MAAM;MACLU,MAAM,EAAEL,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBK,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,CAC5B,CAAC;EAEN;EAEA,oBAAOT,IAAA,CAACH,MAAM;IAACU,MAAM,EAAEL,MAAO;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AACvD,CACF,CAAC;AAEDF,aAAa,CAACU,WAAW,GAAG,eAAe","ignoreList":[]}
@@ -3,8 +3,8 @@
3
3
  import { memo } from 'react';
4
4
  import { Image, StyleSheet } from 'react-native';
5
5
  import { KContainer, KImage, KColors } from '@droppii/libs';
6
- import { DChatCategory, DChatType } from "../../types/chat.js";
7
6
  import Images from "../../assets/images/index.js";
7
+ import { PeerType } from '@droppii/openim-rn-client-sdk';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  const styles = StyleSheet.create({
10
10
  icon: {
@@ -13,10 +13,9 @@ const styles = StyleSheet.create({
13
13
  }
14
14
  });
15
15
  export const NamePrefixIcon = /*#__PURE__*/memo(({
16
- chatCategory,
17
- chatType
16
+ peerType
18
17
  }) => {
19
- if (chatCategory === DChatCategory.BIZ_BOT_CRM) {
18
+ if (peerType === PeerType.Bot) {
20
19
  return /*#__PURE__*/_jsx(KContainer.View, {
21
20
  marginR: "0.25rem",
22
21
  children: /*#__PURE__*/_jsx(Image, {
@@ -25,18 +24,7 @@ export const NamePrefixIcon = /*#__PURE__*/memo(({
25
24
  })
26
25
  });
27
26
  }
28
- if (chatCategory === DChatCategory.BIZ_BOT_PDP) {
29
- return /*#__PURE__*/_jsx(KContainer.View, {
30
- marginR: "0.25rem",
31
- children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
32
- name: "robot-outline",
33
- provider: "MaterialCommunityIcons",
34
- size: 14,
35
- color: KColors.palette.primary.w400
36
- })
37
- });
38
- }
39
- if (chatType === DChatType.GROUP) {
27
+ if (peerType === PeerType.Group) {
40
28
  return /*#__PURE__*/_jsx(KContainer.View, {
41
29
  marginR: "0.25rem",
42
30
  children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
@@ -46,6 +34,15 @@ export const NamePrefixIcon = /*#__PURE__*/memo(({
46
34
  })
47
35
  });
48
36
  }
37
+
38
+ // if (peerType === DChatPeerType.CUSTOMER) {
39
+ // return (
40
+ // <KContainer.View marginR="0.25rem">
41
+ // <Image source={Images.ICON_DROPPII} style={styles.icon} />
42
+ // </KContainer.View>
43
+ // );
44
+ // }
45
+
49
46
  return null;
50
47
  });
51
48
  NamePrefixIcon.displayName = 'NamePrefixIcon';
@@ -1 +1 @@
1
- {"version":3,"names":["memo","Image","StyleSheet","KContainer","KImage","KColors","DChatCategory","DChatType","Images","jsx","_jsx","styles","create","icon","width","height","NamePrefixIcon","chatCategory","chatType","BIZ_BOT_CRM","View","marginR","children","source","ICON_DROPPII","style","BIZ_BOT_PDP","VectorIcons","name","provider","size","color","palette","primary","w400","GROUP","black","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/NamePrefixIcon.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC3D,SAASC,aAAa,EAAEC,SAAS,QAAQ,qBAAkB;AAC3D,OAAOC,MAAM,MAAM,8BAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,MAAMC,MAAM,GAAGT,UAAU,CAACU,MAAM,CAAC;EAC/BC,IAAI,EAAE;IACJC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAOF,OAAO,MAAMC,cAAc,gBAAGhB,IAAI,CAChC,CAAC;EAAEiB,YAAY;EAAEC;AAA8B,CAAC,KAAK;EACnD,IAAID,YAAY,KAAKX,aAAa,CAACa,WAAW,EAAE;IAC9C,oBACET,IAAA,CAACP,UAAU,CAACiB,IAAI;MAACC,OAAO,EAAC,SAAS;MAAAC,QAAA,eAChCZ,IAAA,CAACT,KAAK;QAACsB,MAAM,EAAEf,MAAM,CAACgB,YAAa;QAACC,KAAK,EAAEd,MAAM,CAACE;MAAK,CAAE;IAAC,CAC3C,CAAC;EAEtB;EACA,IAAII,YAAY,KAAKX,aAAa,CAACoB,WAAW,EAAE;IAC9C,oBACEhB,IAAA,CAACP,UAAU,CAACiB,IAAI;MAACC,OAAO,EAAC,SAAS;MAAAC,QAAA,eAChCZ,IAAA,CAACN,MAAM,CAACuB,WAAW;QACjBC,IAAI,EAAC,eAAe;QACpBC,QAAQ,EAAC,wBAAwB;QACjCC,IAAI,EAAE,EAAG;QACTC,KAAK,EAAE1B,OAAO,CAAC2B,OAAO,CAACC,OAAO,CAACC;MAAK,CACrC;IAAC,CACa,CAAC;EAEtB;EAEA,IAAIhB,QAAQ,KAAKX,SAAS,CAAC4B,KAAK,EAAE;IAChC,oBACEzB,IAAA,CAACP,UAAU,CAACiB,IAAI;MAACC,OAAO,EAAC,SAAS;MAAAC,QAAA,eAChCZ,IAAA,CAACN,MAAM,CAACuB,WAAW;QACjBC,IAAI,EAAC,YAAY;QACjBE,IAAI,EAAE,EAAG;QACTC,KAAK,EAAE1B,OAAO,CAAC+B;MAAM,CACtB;IAAC,CACa,CAAC;EAEtB;EAEA,OAAO,IAAI;AACb,CACF,CAAC;AAEDpB,cAAc,CAACqB,WAAW,GAAG,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["memo","Image","StyleSheet","KContainer","KImage","KColors","Images","PeerType","jsx","_jsx","styles","create","icon","width","height","NamePrefixIcon","peerType","Bot","View","marginR","children","source","ICON_DROPPII","style","Group","VectorIcons","name","size","color","black","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/NamePrefixIcon.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAChD,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC3D,OAAOC,MAAM,MAAM,8BAAqB;AACxC,SAASC,QAAQ,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzD,MAAMC,MAAM,GAAGR,UAAU,CAACS,MAAM,CAAC;EAC/BC,IAAI,EAAE;IACJC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAMF,OAAO,MAAMC,cAAc,gBAAGf,IAAI,CAAC,CAAC;EAAEgB;AAA8B,CAAC,KAAK;EACxE,IAAIA,QAAQ,KAAKT,QAAQ,CAACU,GAAG,EAAE;IAC7B,oBACER,IAAA,CAACN,UAAU,CAACe,IAAI;MAACC,OAAO,EAAC,SAAS;MAAAC,QAAA,eAChCX,IAAA,CAACR,KAAK;QAACoB,MAAM,EAAEf,MAAM,CAACgB,YAAa;QAACC,KAAK,EAAEb,MAAM,CAACE;MAAK,CAAE;IAAC,CAC3C,CAAC;EAEtB;EAEA,IAAII,QAAQ,KAAKT,QAAQ,CAACiB,KAAK,EAAE;IAC/B,oBACEf,IAAA,CAACN,UAAU,CAACe,IAAI;MAACC,OAAO,EAAC,SAAS;MAAAC,QAAA,eAChCX,IAAA,CAACL,MAAM,CAACqB,WAAW;QAACC,IAAI,EAAC,YAAY;QAACC,IAAI,EAAE,EAAG;QAACC,KAAK,EAAEvB,OAAO,CAACwB;MAAM,CAAE;IAAC,CACzD,CAAC;EAEtB;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,OAAO,IAAI;AACb,CAAC,CAAC;AAEFd,cAAc,CAACe,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo, useCallback } from 'react';
4
- import { StyleSheet } from 'react-native';
5
4
  import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
6
- import { DChatCategory } from "../../types/chat.js";
7
5
  import { AvatarSection } from "./AvatarSection.js";
8
6
  import { NamePrefixIcon } from "./NamePrefixIcon.js";
9
7
  import { UnreadBadge } from "./UnreadBadge.js";
10
8
  import { formatTimestamp, getLastMessageText } from "./thread-card.utils.js";
11
- import Images from "../../assets/images/index.js";
12
9
  import { useConversation, useUserStore } from "../../store/index.js";
13
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
11
  const ThreadCard = /*#__PURE__*/memo(({
@@ -16,18 +13,19 @@ const ThreadCard = /*#__PURE__*/memo(({
16
13
  onPress
17
14
  }) => {
18
15
  const {
19
- peer,
20
- chatCategory,
16
+ peerType,
17
+ showName,
18
+ faceURL,
21
19
  lastMessage,
22
20
  unreadCount = 0,
23
- isMuted,
24
- pinnedAt,
21
+ recvMsgOpt,
22
+ isPinned,
25
23
  applicationType,
26
- chatType,
27
24
  latestMsgSendTime
28
25
  } = useConversation(item) ?? {};
29
- const fullName = peer?.fullName ?? peer?.username ?? '';
26
+ const fullName = showName ?? '';
30
27
  const hasUnread = unreadCount > 0;
28
+ const isMuted = (recvMsgOpt ?? 0) !== 0;
31
29
  const timestamp = formatTimestamp(latestMsgSendTime ?? lastMessage?.sendTime ?? null);
32
30
  const currentUserId = useUserStore(s => s.user?.userID);
33
31
  const lastMessageText = getLastMessageText(lastMessage, currentUserId);
@@ -45,11 +43,10 @@ const ThreadCard = /*#__PURE__*/memo(({
45
43
  onPress: handlePress,
46
44
  activeOpacity: 0.7,
47
45
  children: [/*#__PURE__*/_jsx(AvatarSection, {
48
- avatar: peer?.avatar ?? null,
46
+ avatar: faceURL ?? null,
49
47
  fullName: fullName,
50
- chatCategory: chatCategory,
51
- applicationType: applicationType,
52
- chatType: chatType
48
+ peerType: peerType,
49
+ applicationType: applicationType
53
50
  }), /*#__PURE__*/_jsxs(KContainer.View, {
54
51
  flex: true,
55
52
  marginL: "0.5rem",
@@ -58,17 +55,7 @@ const ThreadCard = /*#__PURE__*/memo(({
58
55
  row: true,
59
56
  alignItems: "center",
60
57
  children: [/*#__PURE__*/_jsx(NamePrefixIcon, {
61
- chatCategory: chatCategory,
62
- chatType: chatType
63
- }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
64
- visible:
65
- // chatCategory === DChatCategory.BIZ_BOT_CRM ||
66
- chatCategory === DChatCategory.BIZ_BOT_PDP,
67
- children: /*#__PURE__*/_jsx(KImage.Base, {
68
- uri: Images.ICON_BOT,
69
- size: 14,
70
- style: styles.botIcon
71
- })
58
+ peerType: peerType
72
59
  }), /*#__PURE__*/_jsx(KLabel.Text, {
73
60
  typo: hasUnread ? 'TextMdBold' : 'TextMdNormal',
74
61
  numberOfLines: 1,
@@ -76,7 +63,7 @@ const ThreadCard = /*#__PURE__*/memo(({
76
63
  flex: true,
77
64
  children: fullName
78
65
  }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
79
- visible: !!isMuted,
66
+ visible: isMuted,
80
67
  children: /*#__PURE__*/_jsx(KContainer.View, {
81
68
  marginL: "0.25rem",
82
69
  children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
@@ -105,7 +92,7 @@ const ThreadCard = /*#__PURE__*/memo(({
105
92
  flex: true,
106
93
  children: lastMessageText
107
94
  }), /*#__PURE__*/_jsx(KContainer.VisibleView, {
108
- visible: Boolean(pinnedAt),
95
+ visible: Boolean(isPinned),
109
96
  children: /*#__PURE__*/_jsx(KContainer.View, {
110
97
  marginL: "0.5rem",
111
98
  children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
@@ -124,11 +111,4 @@ const ThreadCard = /*#__PURE__*/memo(({
124
111
  });
125
112
  ThreadCard.displayName = 'ThreadCard';
126
113
  export default ThreadCard;
127
- const styles = StyleSheet.create({
128
- botIcon: {
129
- width: 16,
130
- height: 16,
131
- marginRight: 4
132
- }
133
- });
134
114
  //# sourceMappingURL=ThreadCard.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","StyleSheet","KContainer","KImage","KLabel","KColors","DChatCategory","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","Images","useConversation","useUserStore","jsx","_jsx","jsxs","_jsxs","ThreadCard","item","onPress","peer","chatCategory","lastMessage","unreadCount","isMuted","pinnedAt","applicationType","chatType","latestMsgSendTime","fullName","username","hasUnread","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","handlePress","event","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","children","avatar","View","flex","marginL","paddingB","VisibleView","visible","BIZ_BOT_PDP","Base","uri","ICON_BOT","size","style","styles","botIcon","Text","typo","numberOfLines","color","black","VectorIcons","name","provider","palette","gray","w500","Boolean","w400","normal","count","displayName","create","width","height","marginRight"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAoC,cAAc;AACrE,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACnE,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,wBAAqB;AACzE,OAAOC,MAAM,MAAM,8BAAqB;AACxC,SAASC,eAAe,EAAEC,YAAY,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO5D,MAAMC,UAAU,gBAAGpB,IAAI,CAAC,CAAC;EAAEqB,IAAI;EAAEC;AAAyB,CAAC,KAAK;EAC9D,MAAM;IACJC,IAAI;IACJC,YAAY;IACZC,WAAW;IACXC,WAAW,GAAG,CAAC;IACfC,OAAO;IACPC,QAAQ;IACRC,eAAe;IACfC,QAAQ;IACRC;EACF,CAAC,GAAGjB,eAAe,CAACO,IAAI,CAAC,IAAI,CAAC,CAAC;EAE/B,MAAMW,QAAQ,GAAGT,IAAI,EAAES,QAAQ,IAAIT,IAAI,EAAEU,QAAQ,IAAI,EAAE;EACvD,MAAMC,SAAS,GAAGR,WAAW,GAAG,CAAC;EACjC,MAAMS,SAAS,GAAGxB,eAAe,CAC/BoB,iBAAiB,IAAIN,WAAW,EAAEW,QAAQ,IAAI,IAChD,CAAC;EACD,MAAMC,aAAa,GAAGtB,YAAY,CAAEuB,CAAC,IAAKA,CAAC,CAACC,IAAI,EAAEC,MAAM,CAAC;EACzD,MAAMC,eAAe,GAAG7B,kBAAkB,CAACa,WAAW,EAAEY,aAAa,CAAC;EAEtE,MAAMK,WAAW,GAAGzC,WAAW,CAC5B0C,KAA4B,IAAK;IAChCrB,OAAO,GAAG;MAAED,IAAI;MAAEsB;IAAM,CAAC,CAAC;EAC5B,CAAC,EACD,CAACtB,IAAI,EAAEC,OAAO,CAChB,CAAC;EAED,oBACEH,KAAA,CAAChB,UAAU,CAACyC,SAAS;IACnBC,GAAG;IACHC,UAAU,EAAC,QAAQ;IACnBC,QAAQ,EAAC,SAAS;IAClBC,QAAQ,EAAC,SAAS;IAClB1B,OAAO,EAAEoB,WAAY;IACrBO,aAAa,EAAE,GAAI;IAAAC,QAAA,gBAEnBjC,IAAA,CAACT,aAAa;MACZ2C,MAAM,EAAE5B,IAAI,EAAE4B,MAAM,IAAI,IAAK;MAC7BnB,QAAQ,EAAEA,QAAS;MACnBR,YAAY,EAAEA,YAAa;MAC3BK,eAAe,EAAEA,eAAgB;MACjCC,QAAQ,EAAEA;IAAS,CACpB,CAAC,eAGFX,KAAA,CAAChB,UAAU,CAACiD,IAAI;MAACC,IAAI;MAACC,OAAO,EAAC,QAAQ;MAACC,QAAQ,EAAE,CAAE;MAAAL,QAAA,gBAEjD/B,KAAA,CAAChB,UAAU,CAACiD,IAAI;QAACP,GAAG;QAACC,UAAU,EAAC,QAAQ;QAAAI,QAAA,gBACtCjC,IAAA,CAACR,cAAc;UAACe,YAAY,EAAEA,YAAa;UAACM,QAAQ,EAAEA;QAAS,CAAE,CAAC,eAClEb,IAAA,CAACd,UAAU,CAACqD,WAAW;UACrBC,OAAO;UACL;UACAjC,YAAY,KAAKjB,aAAa,CAACmD,WAChC;UAAAR,QAAA,eAEDjC,IAAA,CAACb,MAAM,CAACuD,IAAI;YACVC,GAAG,EAAE/C,MAAM,CAACgD,QAAS;YACrBC,IAAI,EAAE,EAAG;YACTC,KAAK,EAAEC,MAAM,CAACC;UAAQ,CACvB;QAAC,CACoB,CAAC,eACzBhD,IAAA,CAACZ,MAAM,CAAC6D,IAAI;UACVC,IAAI,EAAEjC,SAAS,GAAG,YAAY,GAAG,cAAe;UAChDkC,aAAa,EAAE,CAAE;UACjBC,KAAK,EAAE/D,OAAO,CAACgE,KAAM;UACrBjB,IAAI;UAAAH,QAAA,EAEHlB;QAAQ,CACE,CAAC,eACdf,IAAA,CAACd,UAAU,CAACqD,WAAW;UAACC,OAAO,EAAE,CAAC,CAAC9B,OAAQ;UAAAuB,QAAA,eACzCjC,IAAA,CAACd,UAAU,CAACiD,IAAI;YAACE,OAAO,EAAC,SAAS;YAAAJ,QAAA,eAChCjC,IAAA,CAACb,MAAM,CAACmE,WAAW;cACjBC,IAAI,EAAC,UAAU;cACfC,QAAQ,EAAC,wBAAwB;cACjCX,IAAI,EAAE,EAAG;cACTO,KAAK,EAAE/D,OAAO,CAACoE,OAAO,CAACC,IAAI,CAACC;YAAK,CAClC;UAAC,CACa;QAAC,CACI,CAAC,eACzB3D,IAAA,CAACd,UAAU,CAACqD,WAAW;UAACC,OAAO,EAAEoB,OAAO,CAAC1C,SAAS,CAAE;UAAAe,QAAA,eAClDjC,IAAA,CAACZ,MAAM,CAAC6D,IAAI;YACVC,IAAI,EAAC,cAAc;YACnBE,KAAK,EAAE/D,OAAO,CAACoE,OAAO,CAACC,IAAI,CAACG,IAAK;YACjCxB,OAAO,EAAC,SAAS;YAAAJ,QAAA,EAEhBf;UAAS,CACC;QAAC,CACQ,CAAC;MAAA,CACV,CAAC,eAGlBhB,KAAA,CAAChB,UAAU,CAACiD,IAAI;QAACP,GAAG;QAACC,UAAU,EAAC,QAAQ;QAAAI,QAAA,gBACtCjC,IAAA,CAACZ,MAAM,CAAC6D,IAAI;UACVC,IAAI,EAAEjC,SAAS,GAAG,cAAc,GAAG,cAAe;UAClDmC,KAAK,EAAEnC,SAAS,GAAG5B,OAAO,CAACgE,KAAK,GAAGhE,OAAO,CAACqE,IAAI,CAACI,MAAO;UACvDX,aAAa,EAAE,CAAE;UACjBf,IAAI;UAAAH,QAAA,EAEHT;QAAe,CACL,CAAC,eACdxB,IAAA,CAACd,UAAU,CAACqD,WAAW;UAACC,OAAO,EAAEoB,OAAO,CAACjD,QAAQ,CAAE;UAAAsB,QAAA,eACjDjC,IAAA,CAACd,UAAU,CAACiD,IAAI;YAACE,OAAO,EAAC,QAAQ;YAAAJ,QAAA,eAC/BjC,IAAA,CAACb,MAAM,CAACmE,WAAW;cACjBC,IAAI,EAAC,aAAa;cAClBC,QAAQ,EAAC,wBAAwB;cACjCX,IAAI,EAAE,EAAG;cACTO,KAAK,EAAE/D,OAAO,CAACoE,OAAO,CAACC,IAAI,CAACG;YAAK,CAClC;UAAC,CACa;QAAC,CACI,CAAC,eACzB7D,IAAA,CAACP,WAAW;UAACsE,KAAK,EAAEtD;QAAY,CAAE,CAAC;MAAA,CACpB,CAAC;IAAA,CACH,CAAC;EAAA,CACE,CAAC;AAE3B,CAAC,CAAC;AAEFN,UAAU,CAAC6D,WAAW,GAAG,YAAY;AAErC,eAAe7D,UAAU;AAEzB,MAAM4C,MAAM,GAAG9D,UAAU,CAACgF,MAAM,CAAC;EAC/BjB,OAAO,EAAE;IACPkB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","useConversation","useUserStore","jsx","_jsx","jsxs","_jsxs","ThreadCard","item","onPress","peerType","showName","faceURL","lastMessage","unreadCount","recvMsgOpt","isPinned","applicationType","latestMsgSendTime","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","handlePress","event","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","children","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VisibleView","visible","VectorIcons","name","provider","size","palette","gray","w500","Boolean","w400","normal","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,20 +12,21 @@ export const useChatContext = () => {
12
12
  };
13
13
  const ChatProviderInner = ({
14
14
  logGA,
15
- children
15
+ children,
16
+ applicationType
16
17
  }) => {
17
18
  const value = useMemo(() => ({
18
- logGA
19
- }), [logGA]);
19
+ logGA,
20
+ applicationType
21
+ }), [logGA, applicationType]);
20
22
  return /*#__PURE__*/_jsx(ChatContext.Provider, {
21
23
  value: value,
22
24
  children: children
23
25
  });
24
26
  };
25
27
  export const ChatProvider = ({
26
- enabled,
27
28
  ...props
28
- }) => enabled ? /*#__PURE__*/_jsx(ChatProviderInner, {
29
+ }) => /*#__PURE__*/_jsx(ChatProviderInner, {
29
30
  ...props
30
- }) : props.children;
31
+ });
31
32
  //# sourceMappingURL=ChatContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useMemo","jsx","_jsx","ChatContext","undefined","useChatContext","context","Error","ChatProviderInner","logGA","children","value","Provider","ChatProvider","enabled","props"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3D,OAAO,MAAMC,WAAW,gBAAGL,aAAa,CACtCM,SACF,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAuB;EACnD,MAAMC,OAAO,GAAGP,UAAU,CAACI,WAAW,CAAC;EACvC,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAA4B,CAAC,KAAK;EACpE,MAAMC,KAAK,GAAGX,OAAO,CAAC,OAAO;IAAES;EAAM,CAAC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEjD,oBAAOP,IAAA,CAACC,WAAW,CAACS,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAAuB,CAAC;AAC9E,CAAC;AAED,OAAO,MAAMG,YAAY,GAAGA,CAAC;EAAEC,OAAO;EAAE,GAAGC;AAAyB,CAAC,KACnED,OAAO,gBAAGZ,IAAA,CAACM,iBAAiB;EAAA,GAAKO;AAAK,CAAG,CAAC,GAAGA,KAAK,CAACL,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useMemo","jsx","_jsx","ChatContext","undefined","useChatContext","context","Error","ChatProviderInner","logGA","children","applicationType","value","Provider","ChatProvider","props"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG3D,OAAO,MAAMC,WAAW,gBAAGL,aAAa,CACtCM,SACF,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAuB;EACnD,MAAMC,OAAO,GAAGP,UAAU,CAACI,WAAW,CAAC;EACvC,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CAAC;EACzBC,KAAK;EACLC,QAAQ;EACRC;AACiB,CAAC,KAAK;EACvB,MAAMC,KAAK,GAAGZ,OAAO,CACnB,OAAO;IAAES,KAAK;IAAEE;EAAgB,CAAC,CAAC,EAClC,CAACF,KAAK,EAAEE,eAAe,CACzB,CAAC;EAED,oBAAOT,IAAA,CAACC,WAAW,CAACU,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAF,QAAA,EAAEA;EAAQ,CAAuB,CAAC;AAC9E,CAAC;AAED,OAAO,MAAMI,YAAY,GAAGA,CAAC;EAAE,GAAGC;AAAyB,CAAC,kBAC1Db,IAAA,CAACM,iBAAiB;EAAA,GAAKO;AAAK,CAAG,CAChC","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ import { useConversationStore } from "../../store/index.js";
5
+ import { extractUrls } from "../../utils/url.js";
6
+ import OpenIMSDK from '@droppii/openim-rn-client-sdk';
7
+ import { useChatContext } from "../../context/index.js";
8
+ import { generateContentBasedOnMessageType } from "../../utils/conversation.js";
9
+ import { useMessageStore } from "../../store/message.js";
10
+ export const useSendMessage = () => {
11
+ const applicationType = useChatContext().applicationType;
12
+ const pushNewMessage = useMessageStore(state => state.pushNewMessage);
13
+ const sendMessage = useCallback(async ({
14
+ plainText,
15
+ files,
16
+ urlMetadata
17
+ }) => {
18
+ const {
19
+ userID: recvID,
20
+ groupID
21
+ } = useConversationStore.getState().getCurrentConversation() || {};
22
+ if (!recvID && !groupID) return;
23
+ const messageList = [];
24
+ for (const file of files || []) {
25
+ if (!file) continue;
26
+ }
27
+ if (!!plainText && plainText.trim() !== '') {
28
+ const urls = extractUrls(plainText);
29
+ const isUrlMessage = urls.length > 0;
30
+ let message = null;
31
+ if (isUrlMessage) {
32
+ message = await createUrlTextMessage(plainText, urls);
33
+ } else {
34
+ message = await createTextMessage(plainText);
35
+ }
36
+ if (!message) return;
37
+ messageList.push(message);
38
+ }
39
+ for (const message of messageList) {
40
+ const extendMessageInfo = {
41
+ applicationType,
42
+ urlMetadata
43
+ };
44
+ const successMessage = await OpenIMSDK.sendMessage({
45
+ groupID: groupID || '',
46
+ recvID: recvID || '',
47
+ message: {
48
+ ...message,
49
+ ex: JSON.stringify(extendMessageInfo) || '{}'
50
+ },
51
+ offlinePushInfo: generateOfflinePushInfo(message.contentType, plainText || '')
52
+ });
53
+ pushNewMessage(successMessage);
54
+ }
55
+ }, [applicationType, pushNewMessage]);
56
+ return {
57
+ sendMessage
58
+ };
59
+ };
60
+ const generateOfflinePushInfo = (contentType, plainText) => {
61
+ const conversationData = useConversationStore?.getState?.()?.getCurrentConversation();
62
+ const title = conversationData?.showName || 'Droppii';
63
+ const desc = generateContentBasedOnMessageType(contentType, plainText);
64
+ return {
65
+ title,
66
+ desc,
67
+ ex: JSON.stringify({
68
+ icon: conversationData?.faceURL || '',
69
+ conversationId: conversationData?.conversationId || '',
70
+ title,
71
+ desc
72
+ }),
73
+ iOSPushSound: 'default',
74
+ iOSBadgeCount: true
75
+ };
76
+ };
77
+ export const createTextMessage = async text => {
78
+ let textMessage = await OpenIMSDK.createTextMessage(text, new Date().getTime().toString()).then(data => {
79
+ return data;
80
+ }).catch(({
81
+ errCode,
82
+ errMsg
83
+ }) => {
84
+ console.error('createTextMessage', errCode, errMsg);
85
+ return null;
86
+ });
87
+ return textMessage;
88
+ };
89
+ export const createUrlTextMessage = async (text, urls) => {
90
+ let urlTextMessage = await OpenIMSDK.createUrlTextMessage(text, urls, new Date().getTime().toString()).then(data => {
91
+ return data;
92
+ }).catch(({
93
+ errCode,
94
+ errMsg
95
+ }) => {
96
+ console.error('createUrlTextMessage', errCode, errMsg);
97
+ return null;
98
+ });
99
+ return urlTextMessage;
100
+ };
101
+ //# sourceMappingURL=useSendMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useConversationStore","extractUrls","OpenIMSDK","useChatContext","generateContentBasedOnMessageType","useMessageStore","useSendMessage","applicationType","pushNewMessage","state","sendMessage","plainText","files","urlMetadata","userID","recvID","groupID","getState","getCurrentConversation","messageList","file","trim","urls","isUrlMessage","length","message","createUrlTextMessage","createTextMessage","push","extendMessageInfo","successMessage","ex","JSON","stringify","offlinePushInfo","generateOfflinePushInfo","contentType","conversationData","title","showName","desc","icon","faceURL","conversationId","iOSPushSound","iOSBadgeCount","text","textMessage","Date","getTime","toString","then","data","catch","errCode","errMsg","console","error","urlTextMessage"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":"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","ignoreList":[]}
@@ -3,46 +3,28 @@
3
3
  import OpenIMSDK, { OpenIMEvent } from '@droppii/openim-rn-client-sdk';
4
4
  import { useCallback, useEffect, useRef, useState } from 'react';
5
5
  import { ChatMessageAPI } from "../services/message.js";
6
- import { belongsToConversation, getHistoryPaginationAnchor, hasNewHistoryMessages, mergeMessages } from "../utils/message.js";
6
+ import { belongsToConversation, hasNewHistoryMessages, mergeMessages } from "../utils/message.js";
7
+ import { useMessageStore } from "../store/message.js";
7
8
  export function useChatMessages({
8
9
  conversationId,
9
10
  enabled = true,
10
11
  pageSize = 20
11
12
  }) {
12
- const [messages, setMessages] = useState([]);
13
+ const messages = useMessageStore(s => s.messages);
14
+ const hasMoreEarlier = useMessageStore(s => s.hasMoreEarlier);
15
+ const hasMoreNewer = useMessageStore(s => s.hasMoreNewer);
16
+ const setMessages = useMessageStore(s => s.setMessages);
17
+ const pushNewMessage = useMessageStore(s => s.pushNewMessage);
18
+ const reset = useMessageStore(s => s.reset);
13
19
  const [currentUserId, setCurrentUserId] = useState();
14
20
  const [isLoading, setIsLoading] = useState(false);
15
21
  const [isLoadingEarlier, setIsLoadingEarlier] = useState(false);
16
- const [hasMoreEarlier, setHasMoreEarlier] = useState(false);
17
22
  const [isLoadingNewer, setIsLoadingNewer] = useState(false);
18
- const [hasMoreNewer, setHasMoreNewer] = useState(false);
19
23
  const [error, setError] = useState(null);
20
24
  const conversationIdRef = useRef(conversationId);
21
25
  conversationIdRef.current = conversationId;
22
- const isLoadingEarlierRef = useRef(false);
23
- const isLoadingNewerRef = useRef(false);
24
- const messagesRef = useRef(messages);
25
- const hasMoreEarlierRef = useRef(hasMoreEarlier);
26
- const hasMoreNewerRef = useRef(hasMoreNewer);
27
- const historyAnchorRef = useRef(null);
28
- const newestAnchorRef = useRef(null);
29
- messagesRef.current = messages;
30
- hasMoreEarlierRef.current = hasMoreEarlier;
31
- hasMoreNewerRef.current = hasMoreNewer;
32
- const resetState = useCallback(() => {
33
- setMessages([]);
34
- setHasMoreEarlier(false);
35
- setHasMoreNewer(false);
36
- setError(null);
37
- isLoadingEarlierRef.current = false;
38
- isLoadingNewerRef.current = false;
39
- historyAnchorRef.current = null;
40
- newestAnchorRef.current = null;
41
- }, []);
42
- const loadInitialMessages = useCallback(async () => {
43
- if (!conversationId) {
44
- return;
45
- }
26
+ const fetchInitial = useCallback(async () => {
27
+ if (!conversationId) return;
46
28
  setIsLoading(true);
47
29
  setError(null);
48
30
  try {
@@ -50,135 +32,72 @@ export function useChatMessages({
50
32
  count: pageSize
51
33
  }), ChatMessageAPI.getCurrentUserId()]);
52
34
  const initialMessages = history.messageList;
53
- const oldestAnchor = getHistoryPaginationAnchor(initialMessages);
54
35
  setCurrentUserId(userId);
55
- setMessages(mergeMessages([], initialMessages));
56
- historyAnchorRef.current = oldestAnchor ? {
57
- clientMsgID: oldestAnchor.clientMsgID
58
- // lastMinSeq: resolveHistoryLastMinSeq(
59
- // history,
60
- // initialMessages.find(
61
- // (message) => message.clientMsgID === oldestAnchor.clientMsgID
62
- // )
63
- // ),
64
- } : null;
65
- setHasMoreEarlier(!history.isEnd && !!oldestAnchor);
36
+ setMessages(mergeMessages([], initialMessages), !history.isEnd);
66
37
  ChatMessageAPI.markConversationAsRead(conversationId).catch(() => undefined);
67
38
  } catch (err) {
68
39
  setError(err instanceof Error ? err : new Error(String(err)));
69
40
  } finally {
70
41
  setIsLoading(false);
71
42
  }
72
- }, [conversationId, pageSize]);
43
+ }, [conversationId, pageSize, setMessages]);
73
44
  const onLoadEarlier = useCallback(async () => {
74
- if (!conversationId || isLoadingEarlierRef.current || !hasMoreEarlierRef.current || !messagesRef.current.length) {
75
- return;
76
- }
77
- isLoadingEarlierRef.current = true;
45
+ if (isLoadingEarlier || !hasMoreEarlier || !messages.length) return;
78
46
  setIsLoadingEarlier(true);
79
47
  setError(null);
80
- const anchor = historyAnchorRef.current;
81
- if (!anchor?.clientMsgID) {
82
- isLoadingEarlierRef.current = false;
83
- setIsLoadingEarlier(false);
84
- return;
85
- }
86
48
  try {
87
49
  const history = await ChatMessageAPI.fetchHistoryMessages(conversationId, {
88
50
  count: pageSize,
89
- startClientMsgID: anchor.clientMsgID
51
+ startClientMsgID: messages[0].clientMsgID
90
52
  });
91
53
  const incoming = history.messageList;
92
- const hasNewMessages = hasNewHistoryMessages(messagesRef.current, incoming);
93
- if (hasNewMessages) {
94
- setMessages(current => mergeMessages(current, incoming));
54
+ const hasNew = hasNewHistoryMessages(messages, incoming);
55
+ if (hasNew) {
56
+ setMessages(mergeMessages(messages, incoming), !history.isEnd && hasNew);
57
+ } else {
58
+ setMessages(messages, false);
95
59
  }
96
- const nextAnchor = getHistoryPaginationAnchor(incoming);
97
- historyAnchorRef.current = nextAnchor ? {
98
- clientMsgID: nextAnchor.clientMsgID
99
- // lastMinSeq: resolveHistoryLastMinSeq(
100
- // history,
101
- // incoming.find(
102
- // (message) => message.clientMsgID === nextAnchor.clientMsgID
103
- // )
104
- // ),
105
- } : null;
106
- setHasMoreEarlier(!history.isEnd && hasNewMessages && !!nextAnchor);
107
60
  } catch (err) {
108
61
  setError(err instanceof Error ? err : new Error(String(err)));
109
62
  } finally {
110
- isLoadingEarlierRef.current = false;
111
63
  setIsLoadingEarlier(false);
112
64
  }
113
- }, [conversationId, pageSize]);
65
+ }, [conversationId, hasMoreEarlier, isLoadingEarlier, messages, pageSize, setMessages]);
114
66
  const onLoadNewer = useCallback(async () => {
115
- if (!conversationId || isLoadingNewerRef.current || !hasMoreNewerRef.current || !messagesRef.current.length) {
116
- return;
117
- }
118
- isLoadingNewerRef.current = true;
67
+ if (isLoadingNewer || !hasMoreNewer || !messages.length) return;
119
68
  setIsLoadingNewer(true);
120
69
  setError(null);
121
- const anchor = newestAnchorRef.current;
122
- if (!anchor?.clientMsgID && messagesRef.current.length === 0) {
123
- isLoadingNewerRef.current = false;
124
- setIsLoadingNewer(false);
125
- return;
126
- }
127
70
  try {
128
- // Get the newest message ID to load from
129
- const newestMessage = messagesRef.current[messagesRef.current.length - 1];
130
71
  const history = await ChatMessageAPI.fetchHistoryMessages(conversationId, {
131
72
  count: pageSize,
132
- startClientMsgID: newestMessage?.clientMsgID
73
+ startClientMsgID: messages[messages.length - 1].clientMsgID
133
74
  });
134
75
  const incoming = history.messageList;
135
- const hasNewMessages = incoming.length > 0;
136
- if (hasNewMessages) {
137
- setMessages(current => mergeMessages(current, incoming));
76
+ const hasNew = incoming.length > 0;
77
+ if (hasNew) {
78
+ setMessages(mergeMessages(messages, incoming), !history.isEnd && hasNew);
138
79
  }
139
- setHasMoreNewer(!history.isEnd && hasNewMessages);
140
80
  } catch (err) {
141
81
  setError(err instanceof Error ? err : new Error(String(err)));
142
82
  } finally {
143
- isLoadingNewerRef.current = false;
144
83
  setIsLoadingNewer(false);
145
84
  }
146
- }, [conversationId, pageSize]);
147
- const sendTextMessage = useCallback(async text => {
148
- const trimmed = text.trim();
149
- if (!trimmed) {
150
- return;
151
- }
152
- const sentMessage = await ChatMessageAPI.sendTextMessage({
153
- text: trimmed
154
- });
155
- setMessages(current => mergeMessages(current, [sentMessage]));
156
- }, []);
85
+ }, [conversationId, hasMoreNewer, isLoadingNewer, messages, pageSize, setMessages]);
157
86
  const appendIncomingMessages = useCallback(incoming => {
158
87
  const relevant = incoming.filter(message => belongsToConversation(message, conversationIdRef.current));
159
- if (!relevant.length) {
160
- return;
161
- }
162
- setMessages(current => mergeMessages(current, relevant));
88
+ if (!relevant.length) return;
89
+ relevant.forEach(msg => pushNewMessage(msg));
163
90
  ChatMessageAPI.markConversationAsRead(conversationIdRef.current).catch(() => undefined);
164
- }, []);
91
+ }, [pushNewMessage]);
165
92
  useEffect(() => {
166
- resetState();
167
- if (!enabled || !conversationId) {
168
- return;
169
- }
170
- loadInitialMessages();
171
- }, [conversationId, enabled, loadInitialMessages, resetState]);
93
+ reset();
94
+ if (!enabled || !conversationId) return;
95
+ fetchInitial();
96
+ }, [conversationId, enabled, fetchInitial, reset]);
172
97
  useEffect(() => {
173
- if (!enabled || !conversationId) {
174
- return;
175
- }
176
- const handleNewMessages = incoming => {
177
- appendIncomingMessages(incoming);
178
- };
179
- const handleNewMessage = incoming => {
180
- appendIncomingMessages([incoming]);
181
- };
98
+ if (!enabled || !conversationId) return;
99
+ const handleNewMessages = incoming => appendIncomingMessages(incoming);
100
+ const handleNewMessage = incoming => appendIncomingMessages([incoming]);
182
101
  OpenIMSDK.on(OpenIMEvent.OnRecvNewMessages, handleNewMessages);
183
102
  OpenIMSDK.on(OpenIMEvent.OnRecvNewMessage, handleNewMessage);
184
103
  return () => {
@@ -197,8 +116,7 @@ export function useChatMessages({
197
116
  error,
198
117
  onLoadEarlier,
199
118
  onLoadNewer,
200
- sendTextMessage,
201
- refresh: loadInitialMessages
119
+ refresh: fetchInitial
202
120
  };
203
121
  }
204
122
  //# sourceMappingURL=useChatMessages.js.map