@droppii-org/chat-sdk 0.1.55 → 0.1.57

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 (173) 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 +42 -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/index.d.ts +2 -1
  76. package/dist/components/message/item/index.d.ts.map +1 -1
  77. package/dist/components/message/item/index.js +51 -38
  78. package/dist/components/message/item/mediaSize.d.ts.map +1 -1
  79. package/dist/components/message/item/mediaSize.js +8 -8
  80. package/dist/components/message/toolbox/MessageToolboxMenu.d.ts +5 -0
  81. package/dist/components/message/toolbox/MessageToolboxMenu.d.ts.map +1 -0
  82. package/dist/components/message/toolbox/MessageToolboxMenu.js +10 -0
  83. package/dist/components/message/toolbox/getCopyableMessageText.d.ts +4 -0
  84. package/dist/components/message/toolbox/getCopyableMessageText.d.ts.map +1 -0
  85. package/dist/components/message/toolbox/getCopyableMessageText.js +28 -0
  86. package/dist/components/message/toolbox/index.d.ts +5 -0
  87. package/dist/components/message/toolbox/index.d.ts.map +1 -0
  88. package/dist/components/message/toolbox/index.js +4 -0
  89. package/dist/components/message/toolbox/types.d.ts +15 -0
  90. package/dist/components/message/toolbox/types.d.ts.map +1 -0
  91. package/dist/components/message/toolbox/types.js +6 -0
  92. package/dist/components/message/toolbox/useMessageToolboxVisibility.d.ts +9 -0
  93. package/dist/components/message/toolbox/useMessageToolboxVisibility.d.ts.map +1 -0
  94. package/dist/components/message/toolbox/useMessageToolboxVisibility.js +15 -0
  95. package/dist/constants/moreOption.d.ts +9 -0
  96. package/dist/constants/moreOption.d.ts.map +1 -0
  97. package/dist/constants/moreOption.js +37 -0
  98. package/dist/hooks/conversation/useActiveConversation.d.ts +3 -0
  99. package/dist/hooks/conversation/useActiveConversation.d.ts.map +1 -0
  100. package/dist/hooks/conversation/useActiveConversation.js +31 -0
  101. package/dist/hooks/conversation/useBotConversationDetail.d.ts +3 -0
  102. package/dist/hooks/conversation/useBotConversationDetail.d.ts.map +1 -0
  103. package/dist/hooks/conversation/useBotConversationDetail.js +18 -0
  104. package/dist/hooks/conversation/useBotFlow.d.ts +18 -0
  105. package/dist/hooks/conversation/useBotFlow.d.ts.map +1 -0
  106. package/dist/hooks/conversation/useBotFlow.js +150 -0
  107. package/dist/hooks/conversation/useConversationList.d.ts +15 -0
  108. package/dist/hooks/conversation/useConversationList.d.ts.map +1 -0
  109. package/dist/hooks/conversation/useConversationList.js +70 -0
  110. package/dist/hooks/conversation/useCreateConversation.d.ts +8 -0
  111. package/dist/hooks/conversation/useCreateConversation.d.ts.map +1 -0
  112. package/dist/hooks/conversation/useCreateConversation.js +15 -0
  113. package/dist/hooks/conversation/useResetBotFlow.d.ts +3 -0
  114. package/dist/hooks/conversation/useResetBotFlow.d.ts.map +1 -0
  115. package/dist/hooks/conversation/useResetBotFlow.js +14 -0
  116. package/dist/hooks/conversation/useRunBotFlow.d.ts +7 -0
  117. package/dist/hooks/conversation/useRunBotFlow.d.ts.map +1 -0
  118. package/dist/hooks/conversation/useRunBotFlow.js +14 -0
  119. package/dist/hooks/global/useGlobalEvent.d.ts.map +1 -1
  120. package/dist/hooks/global/useGlobalEvent.js +15 -7
  121. package/dist/hooks/message/useSendMessage.d.ts +1 -1
  122. package/dist/hooks/message/useSendMessage.d.ts.map +1 -1
  123. package/dist/hooks/user/useAuth.js +2 -2
  124. package/dist/index.d.ts +12 -11
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +7 -6
  127. package/dist/locales/i18n.js +3 -3
  128. package/dist/locales/i18n.ts +3 -3
  129. package/dist/locales/vi/biz-inbox.json +39 -39
  130. package/dist/locales/vi/common.json +3 -0
  131. package/dist/locales/vi/conversation-inbox.json +39 -0
  132. package/dist/screens/biz-message/index.d.ts +3 -4
  133. package/dist/screens/biz-message/index.d.ts.map +1 -1
  134. package/dist/screens/biz-message/index.js +5 -9
  135. package/dist/screens/biz-thread-detail/index.js +6 -6
  136. package/dist/screens/conversation-detail/index.d.ts +9 -0
  137. package/dist/screens/conversation-detail/index.d.ts.map +1 -0
  138. package/dist/screens/conversation-detail/index.js +53 -0
  139. package/dist/screens/conversation-inbox/index.d.ts +8 -0
  140. package/dist/screens/conversation-inbox/index.d.ts.map +1 -0
  141. package/dist/screens/conversation-inbox/index.js +30 -0
  142. package/dist/services/query.d.ts +0 -1
  143. package/dist/services/query.d.ts.map +1 -1
  144. package/dist/services/query.js +0 -1
  145. package/dist/services/routes.d.ts +0 -1
  146. package/dist/services/routes.d.ts.map +1 -1
  147. package/dist/services/routes.js +0 -1
  148. package/dist/store/conversation.d.ts.map +1 -1
  149. package/dist/store/conversation.js +14 -5
  150. package/dist/store/messageDraft.d.ts +9 -0
  151. package/dist/store/messageDraft.d.ts.map +1 -0
  152. package/dist/store/messageDraft.js +35 -0
  153. package/dist/store/type.d.ts +6 -1
  154. package/dist/store/type.d.ts.map +1 -1
  155. package/dist/styles/global.css +1 -1
  156. package/dist/tsconfig.tsbuildinfo +1 -1
  157. package/dist/types/conversation.d.ts +116 -0
  158. package/dist/types/conversation.d.ts.map +1 -0
  159. package/dist/types/conversation.js +33 -0
  160. package/dist/utils/common.d.ts +1 -1
  161. package/dist/utils/common.d.ts.map +1 -1
  162. package/dist/utils/common.js +5 -3
  163. package/dist/utils/conversation.d.ts +12 -0
  164. package/dist/utils/conversation.d.ts.map +1 -0
  165. package/dist/utils/conversation.js +53 -0
  166. package/dist/utils/events.d.ts +1 -1
  167. package/dist/utils/events.d.ts.map +1 -1
  168. package/dist/utils/fileValidation.d.ts +2 -1
  169. package/dist/utils/fileValidation.d.ts.map +1 -1
  170. package/dist/utils/fileValidation.js +10 -1
  171. package/dist/utils/imCommon.d.ts +1 -0
  172. package/dist/utils/imCommon.d.ts.map +1 -1
  173. package/package.json +126 -127
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { useQuery } 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 useBotConversationDetail = (conversationId, enabled) => {
7
+ return useQuery({
8
+ queryKey: [QUERY_KEYS.GET_BIZ_CONVERSATION_DETAIL, conversationId],
9
+ queryFn: async () => {
10
+ const res = await apiInstance.get(ENDPOINTS.chatService.getBizConversationDetail(conversationId));
11
+ return res.data.data;
12
+ },
13
+ enabled: enabled && !!conversationId,
14
+ staleTime: 0,
15
+ refetchOnWindowFocus: false,
16
+ refetchOnReconnect: false,
17
+ });
18
+ };
@@ -0,0 +1,18 @@
1
+ import { type BotInputButtonsBlock } from "../../types/conversation";
2
+ export type BotFlowStatus = "running" | "not_started";
3
+ interface UseBotFlowParams {
4
+ conversationId: string;
5
+ isBotThread: boolean;
6
+ }
7
+ export declare const useBotFlow: ({ conversationId, isBotThread, }: UseBotFlowParams) => {
8
+ status: BotFlowStatus;
9
+ flowIsEnd: boolean;
10
+ isProcessing: boolean;
11
+ shouldShowButtons: boolean;
12
+ currentButtonsBlock: BotInputButtonsBlock | null;
13
+ start: () => Promise<void>;
14
+ selectButton: (actionId: string) => Promise<void>;
15
+ restart: () => Promise<void>;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=useBotFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBotFlow.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useBotFlow.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAU9B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;AAEtD,UAAU,gBAAgB;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AAsBD,eAAO,MAAM,UAAU,GAAI,kCAGxB,gBAAgB;;;;;;;6BA0GqB,MAAM;;CAiD7C,CAAC"}
@@ -0,0 +1,150 @@
1
+ "use client";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import { BotBlockType, BotFlowNodeType, } from "../../types/conversation";
5
+ import { BOT_DEFAULT_BUTTON_ID } from "../../constants/botFlow";
6
+ import { useSendMessage } from "../../hooks/message/useSendMessage";
7
+ import useAuthStore from "../../store/auth";
8
+ import emitter from "../../utils/events";
9
+ import { useBotConversationDetail } from "./useBotConversationDetail";
10
+ import { useRunBotFlow } from "./useRunBotFlow";
11
+ import { useResetBotFlow } from "./useResetBotFlow";
12
+ const INITIAL_BOT_FLOW_STATE = {
13
+ conversationId: "",
14
+ flowCurrentStep: null,
15
+ flowIsEnd: false,
16
+ };
17
+ const parseMessageFlowGroupId = (ex) => {
18
+ var _a;
19
+ try {
20
+ return (_a = JSON.parse(ex || "{}").flow) === null || _a === void 0 ? void 0 : _a.groupId;
21
+ }
22
+ catch (_b) {
23
+ return undefined;
24
+ }
25
+ };
26
+ export const useBotFlow = ({ conversationId, isBotThread, }) => {
27
+ var _a;
28
+ const [botFlowState, setBotFlowState] = useState(INITIAL_BOT_FLOW_STATE);
29
+ const { conversationId: storedConversationId, flowCurrentStep } = botFlowState;
30
+ const isActiveConversation = storedConversationId === conversationId;
31
+ const flowIsEnd = isActiveConversation && botFlowState.flowIsEnd;
32
+ const [pendingGroupId, setPendingGroupId] = useState(null);
33
+ const latestBotFlowGroupIdRef = useRef(null);
34
+ const authUserID = useAuthStore((state) => state.userID);
35
+ const { t } = useTranslation("conversation-inbox");
36
+ const detailQuery = useBotConversationDetail(conversationId, isBotThread);
37
+ const runMutation = useRunBotFlow();
38
+ const resetMutation = useResetBotFlow();
39
+ const { sendMergeMessage } = useSendMessage({
40
+ scrollEvent: "CONVERSATION_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM",
41
+ });
42
+ useEffect(() => {
43
+ if (!isBotThread) {
44
+ setBotFlowState(INITIAL_BOT_FLOW_STATE);
45
+ setPendingGroupId(null);
46
+ latestBotFlowGroupIdRef.current = null;
47
+ return;
48
+ }
49
+ if (detailQuery.data) {
50
+ setBotFlowState({
51
+ conversationId,
52
+ flowCurrentStep: detailQuery.data.flowCurrentStep,
53
+ flowIsEnd: detailQuery.data.flowIsEnd,
54
+ });
55
+ setPendingGroupId(null);
56
+ latestBotFlowGroupIdRef.current = null;
57
+ }
58
+ }, [isBotThread, conversationId, detailQuery.data]);
59
+ useEffect(() => {
60
+ const handleNewMessage = (message) => {
61
+ if (message.sendID === authUserID)
62
+ return;
63
+ const groupId = parseMessageFlowGroupId(message.ex);
64
+ if (!groupId)
65
+ return;
66
+ latestBotFlowGroupIdRef.current = groupId;
67
+ setPendingGroupId((currentGroupId) => currentGroupId === groupId ? null : currentGroupId);
68
+ };
69
+ emitter.on("PUSH_NEW_MSG", handleNewMessage);
70
+ return () => {
71
+ emitter.off("PUSH_NEW_MSG", handleNewMessage);
72
+ };
73
+ }, [authUserID]);
74
+ const activeStep = storedConversationId === conversationId ? flowCurrentStep : null;
75
+ const currentButtonsBlock = (_a = activeStep === null || activeStep === void 0 ? void 0 : activeStep.data.children.find((child) => child.type === BotBlockType.InputButtons)) !== null && _a !== void 0 ? _a : null;
76
+ const isProcessing = runMutation.isPending || resetMutation.isPending;
77
+ const shouldShowButtons = !!currentButtonsBlock && !isProcessing && !pendingGroupId;
78
+ const status = (activeStep === null || activeStep === void 0 ? void 0 : activeStep.type) === BotFlowNodeType.Start ? "not_started" : "running";
79
+ const runStep = async (step, actionId = null) => {
80
+ var _a;
81
+ latestBotFlowGroupIdRef.current = null;
82
+ const result = await runMutation.mutateAsync({
83
+ conversationId,
84
+ groupId: step.id,
85
+ childId: null,
86
+ actionId,
87
+ });
88
+ setBotFlowState({
89
+ conversationId,
90
+ flowCurrentStep: result.flowNextStep,
91
+ flowIsEnd: result.isEnd,
92
+ });
93
+ const nextGroupId = (_a = result.flowNextStep) === null || _a === void 0 ? void 0 : _a.id;
94
+ setPendingGroupId(result.havingBotMessage &&
95
+ nextGroupId &&
96
+ latestBotFlowGroupIdRef.current !== nextGroupId
97
+ ? nextGroupId
98
+ : null);
99
+ };
100
+ const start = async () => {
101
+ if (!activeStep)
102
+ return;
103
+ await runStep(activeStep);
104
+ };
105
+ const selectButton = async (actionId) => {
106
+ if (!activeStep)
107
+ return;
108
+ const flow = {
109
+ groupId: activeStep.id,
110
+ childId: null,
111
+ actionId,
112
+ };
113
+ const selectedButton = currentButtonsBlock === null || currentButtonsBlock === void 0 ? void 0 : currentButtonsBlock.data.buttons.find((button) => button.id === actionId);
114
+ if (selectedButton) {
115
+ await sendMergeMessage({
116
+ plainText: selectedButton.label,
117
+ richText: "",
118
+ isInternal: false,
119
+ flow,
120
+ });
121
+ }
122
+ await runStep(activeStep, actionId);
123
+ };
124
+ const restart = async () => {
125
+ var _a;
126
+ const flow = {
127
+ groupId: (_a = activeStep === null || activeStep === void 0 ? void 0 : activeStep.id) !== null && _a !== void 0 ? _a : "",
128
+ childId: null,
129
+ actionId: BOT_DEFAULT_BUTTON_ID,
130
+ };
131
+ await sendMergeMessage({
132
+ plainText: t("thread_detail.bot.restart"),
133
+ richText: "",
134
+ isInternal: false,
135
+ flow,
136
+ });
137
+ const resetDetail = await resetMutation.mutateAsync(conversationId);
138
+ await runStep(resetDetail.flowCurrentStep);
139
+ };
140
+ return {
141
+ status,
142
+ flowIsEnd,
143
+ isProcessing,
144
+ shouldShowButtons,
145
+ currentButtonsBlock,
146
+ start,
147
+ selectButton,
148
+ restart,
149
+ };
150
+ };
@@ -0,0 +1,15 @@
1
+ import { ChatCategory, type ConversationListItem } from "../../types/conversation";
2
+ interface UseConversationListParams {
3
+ enabled: boolean;
4
+ chatCategory?: ChatCategory;
5
+ }
6
+ interface UseConversationListResult {
7
+ items: ConversationListItem[];
8
+ isLoading: boolean;
9
+ isFetchingNextPage: boolean;
10
+ hasNextPage: boolean;
11
+ fetchNextPage: () => void;
12
+ }
13
+ export declare const useConversationList: (params: UseConversationListParams) => UseConversationListResult;
14
+ export {};
15
+ //# sourceMappingURL=useConversationList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationList.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useConversationList.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI/E,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AASD,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,yBAAyB,KAChC,yBAuFF,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useMemo, useState } from "react";
3
+ import { CbEvents, } from "@openim/wasm-client-sdk";
4
+ import { DChatSDK } from "../../constants/sdk";
5
+ import { useChatContext } from "../../context/ChatContext";
6
+ import { ConnectStatus, DChatApplicationType } from "../../types/chat";
7
+ import useAuthStore from "../../store/auth";
8
+ import useConversationStore from "../../store/conversation";
9
+ const toConversationListItem = (conversation) => (Object.assign(Object.assign({}, conversation), { peerType: conversation.peerType }));
10
+ export const useConversationList = (params) => {
11
+ const { enabled, chatCategory } = params;
12
+ const { connectStatus } = useChatContext();
13
+ const applicationType = useAuthStore((state) => state.applicationType);
14
+ const conversationList = useConversationStore((state) => state.conversationList);
15
+ const getConversationListByReq = useConversationStore((state) => state.getConversationListByReq);
16
+ const updateConversationList = useConversationStore((state) => state.updateConversationList);
17
+ const [isLoading, setIsLoading] = useState(false);
18
+ const [isFetchingNextPage, setIsFetchingNextPage] = useState(false);
19
+ const [hasNextPage, setHasNextPage] = useState(false);
20
+ const isApplicationTypeValid = Object.values(DChatApplicationType).includes(applicationType);
21
+ const queryEnabled = enabled &&
22
+ isApplicationTypeValid &&
23
+ connectStatus === ConnectStatus.Connected;
24
+ const appParams = useMemo(() => ({ applicationType, chatCategory }), [applicationType, chatCategory]);
25
+ const loadInitial = useCallback(async () => {
26
+ setIsLoading(true);
27
+ try {
28
+ const hasMore = await getConversationListByReq(false, appParams);
29
+ setHasNextPage(hasMore);
30
+ }
31
+ finally {
32
+ setIsLoading(false);
33
+ }
34
+ }, [getConversationListByReq, appParams]);
35
+ const fetchNextPage = useCallback(() => {
36
+ if (!hasNextPage || isFetchingNextPage)
37
+ return;
38
+ setIsFetchingNextPage(true);
39
+ void getConversationListByReq(true, appParams)
40
+ .then((hasMore) => setHasNextPage(hasMore))
41
+ .finally(() => setIsFetchingNextPage(false));
42
+ }, [hasNextPage, isFetchingNextPage, getConversationListByReq, appParams]);
43
+ useEffect(() => {
44
+ if (!queryEnabled)
45
+ return;
46
+ void loadInitial();
47
+ const onSyncFinish = () => {
48
+ void loadInitial();
49
+ };
50
+ const conversationChangeHandler = ({ data, }) => {
51
+ updateConversationList(data, "push");
52
+ };
53
+ DChatSDK.on(CbEvents.OnSyncServerFinish, onSyncFinish);
54
+ DChatSDK.on(CbEvents.OnConversationChanged, conversationChangeHandler);
55
+ DChatSDK.on(CbEvents.OnNewConversation, conversationChangeHandler);
56
+ return () => {
57
+ DChatSDK.off(CbEvents.OnSyncServerFinish, onSyncFinish);
58
+ DChatSDK.off(CbEvents.OnConversationChanged, conversationChangeHandler);
59
+ DChatSDK.off(CbEvents.OnNewConversation, conversationChangeHandler);
60
+ };
61
+ }, [queryEnabled, loadInitial, updateConversationList]);
62
+ const items = useMemo(() => conversationList.map(toConversationListItem), [conversationList]);
63
+ return {
64
+ items,
65
+ isLoading,
66
+ isFetchingNextPage,
67
+ hasNextPage,
68
+ fetchNextPage,
69
+ };
70
+ };
@@ -0,0 +1,8 @@
1
+ import type { ChatCategory, ChatType, CreateConversationData } from "../../types/conversation";
2
+ export interface CreateConversationInput {
3
+ peerUserId: string;
4
+ chatCategory: ChatCategory;
5
+ chatType: ChatType;
6
+ }
7
+ export declare const useCreateConversation: () => import("@tanstack/react-query").UseMutationResult<CreateConversationData, Error, CreateConversationInput, unknown>;
8
+ //# sourceMappingURL=useCreateConversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCreateConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useCreateConversation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,0HAejC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { useMutation } from "@tanstack/react-query";
3
+ import useAuthStore from "../../store/auth";
4
+ import { apiInstance } from "../../services/api";
5
+ import { ENDPOINTS } from "../../services/routes";
6
+ import { QUERY_KEYS } from "../../services/query";
7
+ export const useCreateConversation = () => {
8
+ return useMutation({
9
+ mutationKey: [QUERY_KEYS.CREATE_BIZ_CONVERSATION],
10
+ mutationFn: async (input) => {
11
+ const res = await apiInstance.post(ENDPOINTS.chatService.createBizConversation, Object.assign(Object.assign({}, input), { applicationType: useAuthStore.getState().applicationType }));
12
+ return res.data.data;
13
+ },
14
+ });
15
+ };
@@ -0,0 +1,3 @@
1
+ import type { BotConversationDetail } from "../../types/conversation";
2
+ export declare const useResetBotFlow: () => import("@tanstack/react-query").UseMutationResult<BotConversationDetail, Error, string, unknown>;
3
+ //# sourceMappingURL=useResetBotFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResetBotFlow.d.ts","sourceRoot":"","sources":["../../../src/hooks/conversation/useResetBotFlow.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,eAAO,MAAM,eAAe,wGAY3B,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 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
  }