@droppii-org/chat-sdk 0.1.55 → 0.1.56

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 (154) hide show
  1. package/dist/components/biz-inbox/BizThreadAvatar.d.ts +3 -3
  2. package/dist/components/biz-inbox/BizThreadAvatar.d.ts.map +1 -1
  3. package/dist/components/biz-inbox/BizThreadAvatar.js +5 -5
  4. package/dist/components/biz-inbox/BizThreadCard.d.ts +3 -3
  5. package/dist/components/biz-inbox/BizThreadCard.d.ts.map +1 -1
  6. package/dist/components/biz-inbox/BizThreadCard.js +7 -8
  7. package/dist/components/biz-inbox/BizThreadList.d.ts +3 -3
  8. package/dist/components/biz-inbox/BizThreadList.d.ts.map +1 -1
  9. package/dist/components/biz-inbox/BizThreadList.js +4 -8
  10. package/dist/components/biz-inbox/BizThreadTitle.d.ts +3 -3
  11. package/dist/components/biz-inbox/BizThreadTitle.d.ts.map +1 -1
  12. package/dist/components/biz-inbox/BizThreadTitle.js +5 -5
  13. package/dist/components/biz-thread-detail/BizMessageList.d.ts.map +1 -1
  14. package/dist/components/biz-thread-detail/BizMessageList.js +4 -5
  15. package/dist/components/biz-thread-detail/BizThreadDetailHeader.d.ts +2 -2
  16. package/dist/components/biz-thread-detail/BizThreadDetailHeader.d.ts.map +1 -1
  17. package/dist/components/biz-thread-detail/BizThreadDetailHeader.js +7 -5
  18. package/dist/components/biz-thread-detail/BizThreadDetailInput.d.ts.map +1 -1
  19. package/dist/components/biz-thread-detail/BizThreadDetailInput.js +8 -13
  20. package/dist/components/biz-thread-detail/bot/BotButtonMessage.d.ts +1 -1
  21. package/dist/components/biz-thread-detail/bot/BotButtonMessage.d.ts.map +1 -1
  22. package/dist/components/conversation-detail/ConversationDetailHeader.d.ts +8 -0
  23. package/dist/components/conversation-detail/ConversationDetailHeader.d.ts.map +1 -0
  24. package/dist/components/conversation-detail/ConversationDetailHeader.js +18 -0
  25. package/dist/components/conversation-detail/ConversationDetailInput.d.ts +8 -0
  26. package/dist/components/conversation-detail/ConversationDetailInput.d.ts.map +1 -0
  27. package/dist/components/conversation-detail/ConversationDetailInput.js +258 -0
  28. package/dist/components/conversation-detail/ConversationMessageList.d.ts +7 -0
  29. package/dist/components/conversation-detail/ConversationMessageList.d.ts.map +1 -0
  30. package/dist/components/conversation-detail/ConversationMessageList.js +35 -0
  31. package/dist/components/conversation-detail/ConversationMoreOptionItem.d.ts +8 -0
  32. package/dist/components/conversation-detail/ConversationMoreOptionItem.d.ts.map +1 -0
  33. package/dist/components/conversation-detail/ConversationMoreOptionItem.js +19 -0
  34. package/dist/components/conversation-detail/ConversationMoreOptionPanel.d.ts +10 -0
  35. package/dist/components/conversation-detail/ConversationMoreOptionPanel.d.ts.map +1 -0
  36. package/dist/components/conversation-detail/ConversationMoreOptionPanel.js +20 -0
  37. package/dist/components/conversation-detail/bot/BotButtonMessage.d.ts +10 -0
  38. package/dist/components/conversation-detail/bot/BotButtonMessage.d.ts.map +1 -0
  39. package/dist/components/conversation-detail/bot/BotButtonMessage.js +30 -0
  40. package/dist/components/conversation-detail/bot/BotStartButton.d.ts +8 -0
  41. package/dist/components/conversation-detail/bot/BotStartButton.d.ts.map +1 -0
  42. package/dist/components/conversation-detail/bot/BotStartButton.js +11 -0
  43. package/dist/components/conversation-detail/bot/BotSuggest.d.ts +7 -0
  44. package/dist/components/conversation-detail/bot/BotSuggest.d.ts.map +1 -0
  45. package/dist/components/conversation-detail/bot/BotSuggest.js +11 -0
  46. package/dist/components/conversation-detail/bot/index.d.ts +7 -0
  47. package/dist/components/conversation-detail/bot/index.d.ts.map +1 -0
  48. package/dist/components/conversation-detail/bot/index.js +3 -0
  49. package/dist/components/conversation-detail/index.d.ts +10 -0
  50. package/dist/components/conversation-detail/index.d.ts.map +1 -0
  51. package/dist/components/conversation-detail/index.js +5 -0
  52. package/dist/components/conversation-inbox/ConversationInboxHeader.d.ts +3 -0
  53. package/dist/components/conversation-inbox/ConversationInboxHeader.d.ts.map +1 -0
  54. package/dist/components/conversation-inbox/ConversationInboxHeader.js +8 -0
  55. package/dist/components/conversation-inbox/ConversationInboxItem.d.ts +8 -0
  56. package/dist/components/conversation-inbox/ConversationInboxItem.d.ts.map +1 -0
  57. package/dist/components/conversation-inbox/ConversationInboxItem.js +30 -0
  58. package/dist/components/conversation-inbox/ConversationInboxList.d.ts +12 -0
  59. package/dist/components/conversation-inbox/ConversationInboxList.d.ts.map +1 -0
  60. package/dist/components/conversation-inbox/ConversationInboxList.js +36 -0
  61. package/dist/components/conversation-inbox/ConversationInboxTitle.d.ts +9 -0
  62. package/dist/components/conversation-inbox/ConversationInboxTitle.d.ts.map +1 -0
  63. package/dist/components/conversation-inbox/ConversationInboxTitle.js +7 -0
  64. package/dist/components/conversation-inbox/ConversationPeerAvatar.d.ts +10 -0
  65. package/dist/components/conversation-inbox/ConversationPeerAvatar.d.ts.map +1 -0
  66. package/dist/components/conversation-inbox/ConversationPeerAvatar.js +10 -0
  67. package/dist/components/conversation-inbox/index.d.ts +10 -0
  68. package/dist/components/conversation-inbox/index.d.ts.map +1 -0
  69. package/dist/components/conversation-inbox/index.js +5 -0
  70. package/dist/components/message/footer/LinkInputPreview.js +1 -1
  71. package/dist/components/message/item/ImageMessage.js +1 -1
  72. package/dist/components/message/item/LinkCard.js +1 -1
  73. package/dist/components/message/item/LinkText.js +1 -1
  74. package/dist/components/message/item/VideoMessage.js +1 -1
  75. package/dist/components/message/item/mediaSize.d.ts.map +1 -1
  76. package/dist/components/message/item/mediaSize.js +8 -8
  77. package/dist/constants/moreOption.d.ts +9 -0
  78. package/dist/constants/moreOption.d.ts.map +1 -0
  79. package/dist/constants/moreOption.js +37 -0
  80. package/dist/hooks/conversation/useActiveConversation.d.ts +3 -0
  81. package/dist/hooks/conversation/useActiveConversation.d.ts.map +1 -0
  82. package/dist/hooks/conversation/useActiveConversation.js +31 -0
  83. package/dist/hooks/conversation/useBotConversationDetail.d.ts +3 -0
  84. package/dist/hooks/conversation/useBotConversationDetail.d.ts.map +1 -0
  85. package/dist/hooks/conversation/useBotConversationDetail.js +18 -0
  86. package/dist/hooks/conversation/useBotFlow.d.ts +18 -0
  87. package/dist/hooks/conversation/useBotFlow.d.ts.map +1 -0
  88. package/dist/hooks/conversation/useBotFlow.js +150 -0
  89. package/dist/hooks/conversation/useConversationList.d.ts +15 -0
  90. package/dist/hooks/conversation/useConversationList.d.ts.map +1 -0
  91. package/dist/hooks/conversation/useConversationList.js +70 -0
  92. package/dist/hooks/conversation/useCreateConversation.d.ts +8 -0
  93. package/dist/hooks/conversation/useCreateConversation.d.ts.map +1 -0
  94. package/dist/hooks/conversation/useCreateConversation.js +15 -0
  95. package/dist/hooks/conversation/useResetBotFlow.d.ts +3 -0
  96. package/dist/hooks/conversation/useResetBotFlow.d.ts.map +1 -0
  97. package/dist/hooks/conversation/useResetBotFlow.js +14 -0
  98. package/dist/hooks/conversation/useRunBotFlow.d.ts +7 -0
  99. package/dist/hooks/conversation/useRunBotFlow.d.ts.map +1 -0
  100. package/dist/hooks/conversation/useRunBotFlow.js +14 -0
  101. package/dist/hooks/global/useGlobalEvent.d.ts.map +1 -1
  102. package/dist/hooks/global/useGlobalEvent.js +15 -7
  103. package/dist/hooks/message/useSendMessage.d.ts +1 -1
  104. package/dist/hooks/message/useSendMessage.d.ts.map +1 -1
  105. package/dist/hooks/user/useAuth.js +2 -2
  106. package/dist/index.d.ts +12 -11
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +7 -6
  109. package/dist/locales/i18n.js +3 -3
  110. package/dist/locales/i18n.ts +3 -3
  111. package/dist/locales/vi/biz-inbox.json +39 -39
  112. package/dist/locales/vi/conversation-inbox.json +39 -0
  113. package/dist/screens/biz-message/index.d.ts +3 -4
  114. package/dist/screens/biz-message/index.d.ts.map +1 -1
  115. package/dist/screens/biz-message/index.js +5 -9
  116. package/dist/screens/biz-thread-detail/index.js +6 -6
  117. package/dist/screens/conversation-detail/index.d.ts +9 -0
  118. package/dist/screens/conversation-detail/index.d.ts.map +1 -0
  119. package/dist/screens/conversation-detail/index.js +53 -0
  120. package/dist/screens/conversation-inbox/index.d.ts +8 -0
  121. package/dist/screens/conversation-inbox/index.d.ts.map +1 -0
  122. package/dist/screens/conversation-inbox/index.js +30 -0
  123. package/dist/services/query.d.ts +0 -1
  124. package/dist/services/query.d.ts.map +1 -1
  125. package/dist/services/query.js +0 -1
  126. package/dist/services/routes.d.ts +0 -1
  127. package/dist/services/routes.d.ts.map +1 -1
  128. package/dist/services/routes.js +0 -1
  129. package/dist/store/conversation.d.ts.map +1 -1
  130. package/dist/store/conversation.js +14 -5
  131. package/dist/store/messageDraft.d.ts +9 -0
  132. package/dist/store/messageDraft.d.ts.map +1 -0
  133. package/dist/store/messageDraft.js +35 -0
  134. package/dist/store/type.d.ts +6 -1
  135. package/dist/store/type.d.ts.map +1 -1
  136. package/dist/styles/global.css +1 -1
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/dist/types/conversation.d.ts +116 -0
  139. package/dist/types/conversation.d.ts.map +1 -0
  140. package/dist/types/conversation.js +33 -0
  141. package/dist/utils/common.d.ts +1 -1
  142. package/dist/utils/common.d.ts.map +1 -1
  143. package/dist/utils/common.js +5 -3
  144. package/dist/utils/conversation.d.ts +12 -0
  145. package/dist/utils/conversation.d.ts.map +1 -0
  146. package/dist/utils/conversation.js +53 -0
  147. package/dist/utils/events.d.ts +1 -1
  148. package/dist/utils/events.d.ts.map +1 -1
  149. package/dist/utils/fileValidation.d.ts +2 -1
  150. package/dist/utils/fileValidation.d.ts.map +1 -1
  151. package/dist/utils/fileValidation.js +10 -1
  152. package/dist/utils/imCommon.d.ts +1 -0
  153. package/dist/utils/imCommon.d.ts.map +1 -1
  154. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { useMutation } from "@tanstack/react-query";
3
+ import { apiInstance } from "../../services/api";
4
+ import { ENDPOINTS } from "../../services/routes";
5
+ import { QUERY_KEYS } from "../../services/query";
6
+ export const useResetBotFlow = () => {
7
+ return useMutation({
8
+ mutationKey: [QUERY_KEYS.RESET_BOT_FLOW],
9
+ mutationFn: async (conversationId) => {
10
+ const res = await apiInstance.post(ENDPOINTS.chatService.resetBotFlow(conversationId));
11
+ return res.data.data;
12
+ },
13
+ });
14
+ };
@@ -0,0 +1,7 @@
1
+ import type { BotFlowMeta } from "../../types/chat";
2
+ import type { RunBotFlowResponse } from "../../types/conversation";
3
+ export interface RunBotFlowParams extends BotFlowMeta {
4
+ conversationId: string;
5
+ }
6
+ export declare const useRunBotFlow: () => import("@tanstack/react-query").UseMutationResult<RunBotFlowResponse, Error, RunBotFlowParams, unknown>;
7
+ //# sourceMappingURL=useRunBotFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunBotFlow.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useRunBotFlow.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,+GAgBzB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { useMutation } from "@tanstack/react-query";
3
+ import { apiInstance } from "../../services/api";
4
+ import { ENDPOINTS } from "../../services/routes";
5
+ import { QUERY_KEYS } from "../../services/query";
6
+ export const useRunBotFlow = () => {
7
+ return useMutation({
8
+ mutationKey: [QUERY_KEYS.RUN_BOT_FLOW],
9
+ mutationFn: async ({ conversationId, groupId, childId, actionId, }) => {
10
+ const res = await apiInstance.post(ENDPOINTS.chatService.runBotFlow(conversationId), { groupId, childId, actionId });
11
+ return res.data.data;
12
+ },
13
+ });
14
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/global/useGlobalEvent.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,cAAc,YAuT1B,CAAC"}
1
+ {"version":3,"file":"useGlobalEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/global/useGlobalEvent.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,cAAc,YA+T1B,CAAC"}
@@ -65,13 +65,17 @@ export const useGlobalEvent = () => {
65
65
  }
66
66
  };
67
67
  const handleNewMessage = (newServerMsg) => {
68
+ var _a, _b;
68
69
  let customData = null;
69
70
  if (newServerMsg.contentType === MessageType.CustomMessage) {
70
- try {
71
- customData = JSON.parse(newServerMsg.customElem.data);
72
- }
73
- catch (e) {
74
- console.error("Failed to parse custom message data", e);
71
+ const rawCustomData = (_b = (_a = newServerMsg.customElem) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.trim();
72
+ if (rawCustomData === null || rawCustomData === void 0 ? void 0 : rawCustomData.startsWith("{")) {
73
+ try {
74
+ customData = JSON.parse(rawCustomData);
75
+ }
76
+ catch (e) {
77
+ console.error("Failed to parse custom message data", e);
78
+ }
75
79
  }
76
80
  if (customData &&
77
81
  CustomType.CallingInvite <= customData.customType &&
@@ -105,8 +109,12 @@ export const useGlobalEvent = () => {
105
109
  },
106
110
  });
107
111
  };
112
+ const loadConversationList = () => {
113
+ const { isCrm, applicationType } = useAuthStore.getState();
114
+ getConversationListByReq(false, isCrm ? undefined : { applicationType });
115
+ };
108
116
  const initStore = () => {
109
- getConversationListByReq(false);
117
+ loadConversationList();
110
118
  };
111
119
  const tryLogin = async () => {
112
120
  const { userID, chatToken, platformID, wsAddress } = useAuthStore.getState();
@@ -154,7 +162,7 @@ export const useGlobalEvent = () => {
154
162
  const syncFinishHandler = () => {
155
163
  updateSyncStatus(SyncStatus.Success);
156
164
  getSelfUserInfo();
157
- getConversationListByReq(false);
165
+ loadConversationList();
158
166
  void refreshCurrentGroupState();
159
167
  };
160
168
  const syncFailedHandler = () => {
@@ -13,7 +13,7 @@ export declare const createVideoMessageByFile: (file: VideoMsgParamsByFile) => P
13
13
  export declare const createFileMessageByFile: (file: FileMsgParamsByFile) => Promise<MessageItem | null>;
14
14
  export declare const createUrlTextMessage: (text: string, urls: string[]) => Promise<MessageItem | null>;
15
15
  export declare const createQuoteMessage: (text: string, quotedMessage: MessageItem) => Promise<MessageItem | null>;
16
- export type SendMessageScrollEvent = "CHAT_LIST_SCROLL_TO_BOTTOM" | "BIZ_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM";
16
+ export type SendMessageScrollEvent = "CHAT_LIST_SCROLL_TO_BOTTOM" | "CONVERSATION_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM";
17
17
  export interface OfflinePushMeta {
18
18
  title: string;
19
19
  icon: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,OAAO,EAAgB,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAkBpF,eAAO,MAAM,iBAAiB,GAAI,SAAS;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,YAE0C,CAAC;AAE5C,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,gCAanD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,iBAAiB,eAAe,gCAazE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,MAAM,mBAAmB,gCAatE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,gCActE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,eAAe,WAAW,gCAc3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,wCAAwC,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,eAAe,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB;uGAiPvD;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,KAAG,OAAO,CAAC,OAAO,CAAC;mCAxHE,WAAW;CA8SpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,kDAKvC;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,sBA8BA,CAAC"}
1
+ {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,OAAO,EAAgB,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAkBpF,eAAO,MAAM,iBAAiB,GAAI,SAAS;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,YAE0C,CAAC;AAE5C,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,gCAanD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,iBAAiB,eAAe,gCAazE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,MAAM,mBAAmB,gCAatE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,gCActE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,eAAe,WAAW,gCAc3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,iDAAiD,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,eAAe,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB;uGAiPvD;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,KAAG,OAAO,CAAC,OAAO,CAAC;mCAxHE,WAAW;CA8SpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,kDAKvC;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,sBA8BA,CAAC"}
@@ -2,11 +2,11 @@ import { Platform } from "@openim/wasm-client-sdk";
2
2
  import { DChatSDK } from "../../constants/sdk";
3
3
  import useAuthStore from "../../store/auth";
4
4
  import useConversationStore from "../../store/conversation";
5
- import useBizMessageDraftStore from "../../store/bizMessageDraft";
5
+ import useMessageDraftStore from "../../store/messageDraft";
6
6
  export const useDChatAuth = () => {
7
7
  const initAuthStore = useAuthStore((state) => state.initAuthStore);
8
8
  const resetConversationStore = useConversationStore((state) => state.resetConversationStore);
9
- const clearAllDrafts = useBizMessageDraftStore((state) => state.clearAllDrafts);
9
+ const clearAllDrafts = useMessageDraftStore((state) => state.clearAllDrafts);
10
10
  const logout = async () => {
11
11
  const res = await DChatSDK.logout();
12
12
  const applicationType = useAuthStore.getState().applicationType;
package/dist/index.d.ts CHANGED
@@ -13,20 +13,21 @@ export * from "antd/es/table";
13
13
  export { ChatProvider, useChatContext } from "./context/ChatContext";
14
14
  export { DChatDeskMessage, DChatBubble, Icon };
15
15
  export { default as RichTextEditor } from "./components/rich-text-editor/RichTextEditor";
16
- export { default as DChatBizInbox } from "./screens/biz-message";
17
- export type { DChatBizInboxProps } from "./screens/biz-message";
18
- export { default as DChatBizThreadDetail } from "./screens/biz-thread-detail";
19
- export type { DChatBizThreadDetailProps } from "./screens/biz-thread-detail";
20
- export { BizThreadDetailHeader, BizThreadDetailInput, } from "./components/biz-thread-detail";
21
- export type { BizThreadDetailHeaderProps, BizThreadDetailInputProps, } from "./components/biz-thread-detail";
22
- export { BizChatCategory, BizChatType, BizPeerType, } from "./types/biz";
23
- export type { BizConversationItem, BizConversationPeer, BizCreateConversationData, BizConversationMember, } from "./types/biz";
16
+ export { default as DChatConversationInbox } from "./screens/conversation-inbox";
17
+ export type { DChatConversationInboxProps } from "./screens/conversation-inbox";
18
+ export { default as DChatConversationDetail } from "./screens/conversation-detail";
19
+ export type { DChatConversationDetailProps } from "./screens/conversation-detail";
20
+ export { ConversationDetailHeader, ConversationDetailInput, } from "./components/conversation-detail";
21
+ export type { ConversationDetailHeaderProps, ConversationDetailInputProps, } from "./components/conversation-detail";
22
+ export { ChatCategory, ChatType, PeerType, } from "./types/conversation";
23
+ export type { ConversationListItem, CreateConversationData, ConversationMember, } from "./types/conversation";
24
24
  export { useDChatAuth } from "./hooks/user/useAuth";
25
25
  export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
26
- export { useBizConversationList, useCreateBizConversation, } from "./hooks/biz";
27
- export type { CreateBizConversationInput } from "./hooks/biz";
26
+ export { useConversationList } from "./hooks/conversation/useConversationList";
27
+ export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
28
+ export type { CreateConversationInput } from "./hooks/conversation/useCreateConversation";
28
29
  export { useUserStore, DChatApplicationType, useAuthStore };
29
- export { default as useBizConversationStore } from "./store/bizConversation";
30
+ export { default as useConversationStore } from "./store/conversation";
30
31
  export { Platform as DChatPlatform, LogLevel as DChatLogLevel, SessionType as DChatSessionType, };
31
32
  export type { DChatInitAndLoginConfig };
32
33
  export { getDChatSDK } from "./constants/sdk";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC7C,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAI7E,OAAO,EACL,QAAQ,IAAI,aAAa,EACzB,QAAQ,IAAI,aAAa,EACzB,WAAW,IAAI,gBAAgB,GAChC,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC7C,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAG1F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvE,OAAO,EACL,QAAQ,IAAI,aAAa,EACzB,QAAQ,IAAI,aAAa,EACzB,WAAW,IAAI,gBAAgB,GAChC,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -15,17 +15,18 @@ export { ChatProvider, useChatContext } from "./context/ChatContext";
15
15
  //Components
16
16
  export { DChatDeskMessage, DChatBubble, Icon };
17
17
  export { default as RichTextEditor } from "./components/rich-text-editor/RichTextEditor";
18
- export { default as DChatBizInbox } from "./screens/biz-message";
19
- export { default as DChatBizThreadDetail } from "./screens/biz-thread-detail";
20
- export { BizThreadDetailHeader, BizThreadDetailInput, } from "./components/biz-thread-detail";
21
- export { BizChatCategory, BizChatType, BizPeerType, } from "./types/biz";
18
+ export { default as DChatConversationInbox } from "./screens/conversation-inbox";
19
+ export { default as DChatConversationDetail } from "./screens/conversation-detail";
20
+ export { ConversationDetailHeader, ConversationDetailInput, } from "./components/conversation-detail";
21
+ export { ChatCategory, ChatType, PeerType, } from "./types/conversation";
22
22
  //Hooks
23
23
  export { useDChatAuth } from "./hooks/user/useAuth";
24
24
  export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
25
- export { useBizConversationList, useCreateBizConversation, } from "./hooks/biz";
25
+ export { useConversationList } from "./hooks/conversation/useConversationList";
26
+ export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
26
27
  //Store
27
28
  export { useUserStore, DChatApplicationType, useAuthStore };
28
- export { default as useBizConversationStore } from "./store/bizConversation";
29
+ export { default as useConversationStore } from "./store/conversation";
29
30
  // export * from "./types/sdk";
30
31
  export { Platform as DChatPlatform, LogLevel as DChatLogLevel, SessionType as DChatSessionType, };
31
32
  export { getDChatSDK } from "./constants/sdk";
@@ -1,16 +1,16 @@
1
1
  import i18n from "i18next";
2
2
  import { initReactI18next } from "react-i18next";
3
3
  import vi from "./vi/common.json";
4
- import viBizInbox from "./vi/biz-inbox.json";
4
+ import viConversationInbox from "./vi/conversation-inbox.json";
5
5
  if (!i18n.isInitialized) {
6
6
  i18n.use(initReactI18next).init({
7
7
  resources: {
8
- vi: { common: vi, "biz-inbox": viBizInbox },
8
+ vi: { common: vi, "conversation-inbox": viConversationInbox },
9
9
  },
10
10
  lng: "vi",
11
11
  fallbackLng: "vi",
12
12
  interpolation: { escapeValue: false },
13
- ns: ["common", "biz-inbox"],
13
+ ns: ["common", "conversation-inbox"],
14
14
  defaultNS: "common",
15
15
  });
16
16
  }
@@ -1,17 +1,17 @@
1
1
  import i18n from "i18next";
2
2
  import { initReactI18next } from "react-i18next";
3
3
  import vi from "./vi/common.json";
4
- import viBizInbox from "./vi/biz-inbox.json";
4
+ import viConversationInbox from "./vi/conversation-inbox.json";
5
5
 
6
6
  if (!i18n.isInitialized) {
7
7
  i18n.use(initReactI18next).init({
8
8
  resources: {
9
- vi: { common: vi, "biz-inbox": viBizInbox },
9
+ vi: { common: vi, "conversation-inbox": viConversationInbox },
10
10
  },
11
11
  lng: "vi",
12
12
  fallbackLng: "vi",
13
13
  interpolation: { escapeValue: false },
14
- ns: ["common", "biz-inbox"],
14
+ ns: ["common", "conversation-inbox"],
15
15
  defaultNS: "common",
16
16
  });
17
17
  }
@@ -1,39 +1,39 @@
1
- {
2
- "tabs": {
3
- "messages": "Tin nhắn"
4
- },
5
- "empty": {
6
- "no_conversations": "Chưa có cuộc trò chuyện",
7
- "no_messages": "Chưa có tin nhắn"
8
- },
9
- "thread_card": {
10
- "fallback_name": "Người dùng",
11
- "bot_crm_name": "Droppii Hỗ Trợ",
12
- "badge": {
13
- "mall": "Mall",
14
- "bot": "Bot"
15
- }
16
- },
17
- "thread_detail": {
18
- "profile_hint": "Nhấn để xem thông tin",
19
- "input_placeholder": "Nhập tin nhắn...",
20
- "more_option": {
21
- "toggle": "Tùy chọn khác",
22
- "media": "Ảnh/Video",
23
- "camera": "Chụp ảnh",
24
- "document": "Tài liệu",
25
- "order": "Gửi đơn hàng",
26
- "product": "Gửi sản phẩm",
27
- "appointment": "Tạo lịch hẹn"
28
- },
29
- "bot": {
30
- "start": "Bắt đầu",
31
- "restart": "Bắt đầu lại"
32
- }
33
- },
34
- "link_preview": {
35
- "loading": "Đang tải xem trước liên kết...",
36
- "remove": "Xóa xem trước liên kết"
37
- },
38
- "link_open_error": "Không thể mở liên kết. Vui lòng thử lại."
39
- }
1
+ {
2
+ "tabs": {
3
+ "messages": "Tin nhắn"
4
+ },
5
+ "empty": {
6
+ "no_conversations": "Chưa có cuộc trò chuyện",
7
+ "no_messages": "Chưa có tin nhắn"
8
+ },
9
+ "thread_card": {
10
+ "fallback_name": "Người dùng",
11
+ "bot_crm_name": "Droppii Hỗ Trợ",
12
+ "badge": {
13
+ "mall": "Mall",
14
+ "bot": "Bot"
15
+ }
16
+ },
17
+ "thread_detail": {
18
+ "profile_hint": "Nhấn để xem thông tin",
19
+ "input_placeholder": "Nhập tin nhắn...",
20
+ "more_option": {
21
+ "toggle": "Tùy chọn khác",
22
+ "media": "Ảnh/Video",
23
+ "camera": "Chụp ảnh",
24
+ "document": "Tài liệu",
25
+ "order": "Gửi đơn hàng",
26
+ "product": "Gửi sản phẩm",
27
+ "appointment": "Tạo lịch hẹn"
28
+ },
29
+ "bot": {
30
+ "start": "Bắt đầu",
31
+ "restart": "Bắt đầu lại"
32
+ }
33
+ },
34
+ "link_preview": {
35
+ "loading": "Đang tải xem trước liên kết...",
36
+ "remove": "Xóa xem trước liên kết"
37
+ },
38
+ "link_open_error": "Không thể mở liên kết. Vui lòng thử lại."
39
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "tabs": {
3
+ "messages": "Tin nhắn"
4
+ },
5
+ "empty": {
6
+ "no_conversations": "Chưa có cuộc trò chuyện",
7
+ "no_messages": "Chưa có tin nhắn"
8
+ },
9
+ "thread_card": {
10
+ "fallback_name": "Người dùng",
11
+ "bot_crm_name": "Droppii Hỗ Trợ",
12
+ "badge": {
13
+ "mall": "Mall",
14
+ "bot": "Bot"
15
+ }
16
+ },
17
+ "thread_detail": {
18
+ "profile_hint": "Nhấn để xem thông tin",
19
+ "input_placeholder": "Nhập tin nhắn...",
20
+ "more_option": {
21
+ "toggle": "Tùy chọn khác",
22
+ "media": "Ảnh/Video",
23
+ "camera": "Chụp ảnh",
24
+ "document": "Tài liệu",
25
+ "order": "Gửi đơn hàng",
26
+ "product": "Gửi sản phẩm",
27
+ "appointment": "Tạo lịch hẹn"
28
+ },
29
+ "bot": {
30
+ "start": "Bắt đầu",
31
+ "restart": "Bắt đầu lại"
32
+ }
33
+ },
34
+ "link_preview": {
35
+ "loading": "Đang tải xem trước liên kết...",
36
+ "remove": "Xóa xem trước liên kết"
37
+ },
38
+ "link_open_error": "Không thể mở liên kết. Vui lòng thử lại."
39
+ }
@@ -1,9 +1,8 @@
1
- import type { BizConversationItem } from "../../types/biz";
1
+ import type { ConversationListItem } from "../../types/conversation";
2
2
  export interface DChatBizInboxProps {
3
- pageSize?: number;
4
- onSelectThread?: (conversation: BizConversationItem) => void;
3
+ onSelectThread?: (conversation: ConversationListItem) => void;
5
4
  className?: string;
6
5
  }
7
- declare const DChatBizInbox: ({ pageSize, onSelectThread, className, }: DChatBizInboxProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const DChatBizInbox: ({ onSelectThread, className, }: DChatBizInboxProps) => import("react/jsx-runtime").JSX.Element;
8
7
  export default DChatBizInbox;
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/biz-message/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,GAAI,0CAIpB,kBAAkB,4CAkDpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/biz-message/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,GAAI,gCAGpB,kBAAkB,4CA+CpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -5,27 +5,23 @@ import { useTranslation } from "react-i18next";
5
5
  import { Empty } from "antd";
6
6
  import clsx from "clsx";
7
7
  import useAuthStore from "../../store/auth";
8
- import { useBizConversationList } from "../../hooks/biz";
9
- import { useBizGlobalEvent } from "../../hooks/biz/useBizGlobalEvent";
10
- import { useBizActiveConversation } from "../../hooks/biz/useBizActiveConversation";
8
+ import { useConversationList } from "../../hooks/conversation/useConversationList";
9
+ import { useActiveConversation } from "../../hooks/conversation/useActiveConversation";
11
10
  import { BizInboxHeader } from "../../components/biz-inbox";
12
11
  import BizThreadList from "../../components/biz-inbox/BizThreadList";
13
12
  import DChatBizThreadDetail from "../../screens/biz-thread-detail";
14
- import { PAGE_SIZE } from "../../constants";
15
13
  import { DChatApplicationType } from "../../types/chat";
16
14
  import { Icon } from "../../components/icon";
17
- const DChatBizInbox = ({ pageSize = PAGE_SIZE.medium, onSelectThread, className, }) => {
15
+ const DChatBizInbox = ({ onSelectThread, className, }) => {
18
16
  const { t } = useTranslation("biz-inbox");
19
17
  const searchParams = useSearchParams();
20
18
  const threadId = searchParams.get("threadId");
21
19
  const applicationType = useAuthStore((state) => state.applicationType);
22
20
  const isApplicationTypeValid = Object.values(DChatApplicationType).includes(applicationType);
23
- useBizGlobalEvent();
24
- const conversationList = useBizConversationList({
21
+ const conversationList = useConversationList({
25
22
  enabled: isApplicationTypeValid,
26
- pageSize,
27
23
  });
28
- useBizActiveConversation(conversationList.items);
24
+ useActiveConversation(conversationList.items);
29
25
  if (threadId) {
30
26
  return _jsx(DChatBizThreadDetail, { className: className });
31
27
  }
@@ -14,11 +14,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  import { usePathname, useRouter, useSearchParams } from "next/navigation";
15
15
  import { useTranslation } from "react-i18next";
16
16
  import clsx from "clsx";
17
- import useBizConversationStore from "../../store/bizConversation";
17
+ import useConversationStore from "../../store/conversation";
18
18
  import { BizMessageList, BizThreadDetailHeader, BizThreadDetailInput, } from "../../components/biz-thread-detail";
19
19
  import { BotButtonMessage, BotStartButton, } from "../../components/biz-thread-detail/bot";
20
- import { useBotFlow } from "../../hooks/biz/useBotFlow";
21
- import { isBizBotCrmChat } from "../../utils/bizConversation";
20
+ import { useBotFlow } from "../../hooks/conversation/useBotFlow";
21
+ import { isBotCrmChat } from "../../utils/conversation";
22
22
  const DChatBizThreadDetail = (_a) => {
23
23
  var _b;
24
24
  var { className, children, onBack } = _a, inputProps = __rest(_a, ["className", "children", "onBack"]);
@@ -26,10 +26,10 @@ const DChatBizThreadDetail = (_a) => {
26
26
  const router = useRouter();
27
27
  const pathname = usePathname();
28
28
  const searchParams = useSearchParams();
29
- const conversation = useBizConversationStore((state) => state.conversationData);
30
- const isBotThread = conversation ? isBizBotCrmChat(conversation) : false;
29
+ const conversation = useConversationStore((state) => state.conversationData);
30
+ const isBotThread = conversation ? isBotCrmChat(conversation) : false;
31
31
  const botFlow = useBotFlow({
32
- conversationId: (_b = conversation === null || conversation === void 0 ? void 0 : conversation.conversationId) !== null && _b !== void 0 ? _b : "",
32
+ conversationId: (_b = conversation === null || conversation === void 0 ? void 0 : conversation.conversationID) !== null && _b !== void 0 ? _b : "",
33
33
  isBotThread,
34
34
  });
35
35
  const handleBack = () => {
@@ -0,0 +1,9 @@
1
+ import type { ConversationDetailInputProps } from "../../components/conversation-detail";
2
+ export interface DChatConversationDetailProps extends ConversationDetailInputProps {
3
+ className?: string;
4
+ children?: React.ReactNode;
5
+ onBack?: () => void;
6
+ }
7
+ declare const DChatConversationDetail: ({ className, children, onBack, ...inputProps }: DChatConversationDetailProps) => import("react/jsx-runtime").JSX.Element | null;
8
+ export default DChatConversationDetail;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation-detail/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AASrF,MAAM,WAAW,4BAA6B,SAAQ,4BAA4B;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,uBAAuB,GAAI,gDAK9B,4BAA4B,mDA8E9B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { usePathname, useRouter, useSearchParams } from "next/navigation";
15
+ import { useTranslation } from "react-i18next";
16
+ import clsx from "clsx";
17
+ import useConversationStore from "../../store/conversation";
18
+ import { ConversationMessageList, ConversationDetailHeader, ConversationDetailInput, } from "../../components/conversation-detail";
19
+ import { BotButtonMessage, BotStartButton, BotSuggest, } from "../../components/conversation-detail/bot";
20
+ import { useBotFlow } from "../../hooks/conversation/useBotFlow";
21
+ import { isBotPeer } from "../../utils/conversation";
22
+ const DChatConversationDetail = (_a) => {
23
+ var _b;
24
+ var { className, children, onBack } = _a, inputProps = __rest(_a, ["className", "children", "onBack"]);
25
+ const { t } = useTranslation("conversation-inbox");
26
+ const router = useRouter();
27
+ const pathname = usePathname();
28
+ const searchParams = useSearchParams();
29
+ const conversation = useConversationStore((state) => state.conversationData);
30
+ const isBotThread = conversation ? isBotPeer(conversation) : false;
31
+ const botFlow = useBotFlow({
32
+ conversationId: (_b = conversation === null || conversation === void 0 ? void 0 : conversation.conversationID) !== null && _b !== void 0 ? _b : "",
33
+ isBotThread,
34
+ });
35
+ const handleBack = () => {
36
+ const newSearchParams = new URLSearchParams(searchParams);
37
+ newSearchParams.delete("threadId");
38
+ const query = newSearchParams.toString();
39
+ router.replace(query ? `${pathname}?${query}` : pathname);
40
+ onBack === null || onBack === void 0 ? void 0 : onBack();
41
+ };
42
+ if (!conversation) {
43
+ return null;
44
+ }
45
+ const isBotNotStarted = isBotThread && botFlow.status === "not_started";
46
+ const footer = isBotNotStarted ? (_jsx("div", { className: "bg-white p-6", children: _jsx(BotStartButton, { label: t("thread_detail.bot.start"), onClick: botFlow.start, disabled: botFlow.isProcessing }) })) : (_jsxs(_Fragment, { children: [isBotThread && (_jsx(BotSuggest, { disabled: botFlow.isProcessing, onRestart: botFlow.restart })), _jsx(ConversationDetailInput, Object.assign({}, inputProps))] }));
47
+ const botButtonsSlot = isBotThread &&
48
+ !botFlow.flowIsEnd &&
49
+ botFlow.shouldShowButtons &&
50
+ botFlow.currentButtonsBlock ? (_jsx(BotButtonMessage, { buttons: botFlow.currentButtonsBlock.data.buttons, disabled: botFlow.isProcessing, onSelect: botFlow.selectButton, onRestart: botFlow.restart })) : null;
51
+ return (_jsxs("div", { "data-testid": "conversation-detail-root", className: clsx("relative flex h-full w-full flex-col overflow-hidden bg-white", className), children: [_jsx(ConversationDetailHeader, { conversation: conversation, onBack: handleBack }), _jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: children !== null && children !== void 0 ? children : _jsx(ConversationMessageList, { bottomSlot: botButtonsSlot }) }), footer] }));
52
+ };
53
+ export default DChatConversationDetail;
@@ -0,0 +1,8 @@
1
+ import type { ConversationListItem } from "../../types/conversation";
2
+ export interface DChatConversationInboxProps {
3
+ onSelectThread?: (conversation: ConversationListItem) => void;
4
+ className?: string;
5
+ }
6
+ declare const DChatConversationInbox: ({ onSelectThread, className, }: DChatConversationInboxProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default DChatConversationInbox;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation-inbox/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,sBAAsB,GAAI,gCAG7B,2BAA2B,4CA+C7B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useSearchParams } from "next/navigation";
4
+ import { useTranslation } from "react-i18next";
5
+ import { Empty } from "antd";
6
+ import clsx from "clsx";
7
+ import useAuthStore from "../../store/auth";
8
+ import { useConversationList } from "../../hooks/conversation/useConversationList";
9
+ import { useActiveConversation } from "../../hooks/conversation/useActiveConversation";
10
+ import { ConversationInboxHeader } from "../../components/conversation-inbox";
11
+ import ConversationInboxList from "../../components/conversation-inbox/ConversationInboxList";
12
+ import DChatConversationDetail from "../../screens/conversation-detail";
13
+ import { DChatApplicationType } from "../../types/chat";
14
+ import { Icon } from "../../components/icon";
15
+ const DChatConversationInbox = ({ onSelectThread, className, }) => {
16
+ const { t } = useTranslation("conversation-inbox");
17
+ const searchParams = useSearchParams();
18
+ const threadId = searchParams.get("threadId");
19
+ const applicationType = useAuthStore((state) => state.applicationType);
20
+ const isApplicationTypeValid = Object.values(DChatApplicationType).includes(applicationType);
21
+ const conversationList = useConversationList({
22
+ enabled: isApplicationTypeValid,
23
+ });
24
+ useActiveConversation(conversationList.items);
25
+ if (threadId) {
26
+ return _jsx(DChatConversationDetail, { className: className });
27
+ }
28
+ return (_jsxs("div", { "data-testid": "conversation-inbox-root", className: clsx("flex h-full w-full flex-col bg-white", className), children: [_jsx(ConversationInboxHeader, {}), !isApplicationTypeValid ? (_jsx("div", { className: "flex flex-1 items-center justify-center py-12", children: _jsx(Empty, { image: _jsx(Icon, { icon: "chat-square-b", size: 80, className: "text-gray-300" }), description: t("empty.no_conversations") }) })) : (_jsx(ConversationInboxList, { items: conversationList.items, isLoading: conversationList.isLoading, isFetchingNextPage: conversationList.isFetchingNextPage, hasNextPage: conversationList.hasNextPage, onLoadMore: conversationList.fetchNextPage, onSelectThread: onSelectThread }))] }));
29
+ };
30
+ export default DChatConversationInbox;
@@ -24,7 +24,6 @@ export declare const QUERY_KEYS: {
24
24
  JOIN_SESSION: string;
25
25
  PULL_SESSION_MESSAGES: string;
26
26
  GET_CONVERSATIONS_IM_DETAIL: string;
27
- GET_BIZ_CONVERSATIONS: string;
28
27
  CREATE_BIZ_CONVERSATION: string;
29
28
  GET_BIZ_CONVERSATION_DETAIL: string;
30
29
  RUN_BOT_FLOW: string;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/services/query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCtB,CAAC"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/services/query.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCtB,CAAC"}
@@ -24,7 +24,6 @@ export const QUERY_KEYS = {
24
24
  JOIN_SESSION: "JOIN_SESSION",
25
25
  PULL_SESSION_MESSAGES: "PULL_SESSION_MESSAGES",
26
26
  GET_CONVERSATIONS_IM_DETAIL: "GET_CONVERSATIONS_IM_DETAIL",
27
- GET_BIZ_CONVERSATIONS: "GET_BIZ_CONVERSATIONS",
28
27
  CREATE_BIZ_CONVERSATION: "CREATE_BIZ_CONVERSATION",
29
28
  GET_BIZ_CONVERSATION_DETAIL: "GET_BIZ_CONVERSATION_DETAIL",
30
29
  RUN_BOT_FLOW: "RUN_BOT_FLOW",
@@ -27,7 +27,6 @@ export declare const ENDPOINTS: {
27
27
  leaveConversation: (conversationId: string) => string;
28
28
  pullSessionMessages: string;
29
29
  getConversationsImDetail: string;
30
- getBizConversations: string;
31
30
  createBizConversation: string;
32
31
  getBizConversationDetail: (conversationId: string) => string;
33
32
  runBotFlow: (conversationId: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;iCASZ,MAAM;4CAEK,MAAM;;;;;mDAMC,MAAM;qCAEpB,MAAM;uCAEJ,MAAM;;;;;;;;;CAUxC,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/services/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;mCAMS,MAAM;;0CAGC,MAAM,UAAU,MAAM;6BAEnC,MAAM;;oDAEiB,MAAM;uCAEnB,MAAM;kCAEX,MAAM;;oCAGJ,MAAM;mCAEP,MAAM;uCAEF,MAAM;;;;;;;;iCASZ,MAAM;4CAEK,MAAM;;;;mDAKC,MAAM;qCAEpB,MAAM;uCAEJ,MAAM;;;;;;;;;CAUxC,CAAC"}