react-native-chatbot-ai 0.1.12 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/Drawer/DrawerContent.js +85 -0
- package/lib/module/components/Drawer/DrawerContent.js.map +1 -0
- package/lib/module/components/Drawer/EmptyState.js +28 -0
- package/lib/module/components/Drawer/EmptyState.js.map +1 -0
- package/lib/module/components/Drawer/LoadingState.js +28 -0
- package/lib/module/components/Drawer/LoadingState.js.map +1 -0
- package/lib/module/components/Drawer/NewChatButton.js +24 -0
- package/lib/module/components/Drawer/NewChatButton.js.map +1 -0
- package/lib/module/components/Drawer/SearchInput.js +34 -0
- package/lib/module/components/Drawer/SearchInput.js.map +1 -0
- package/lib/module/components/Drawer/SessionItem.js +53 -0
- package/lib/module/components/Drawer/SessionItem.js.map +1 -0
- package/lib/module/components/Drawer/SessionList.js +55 -0
- package/lib/module/components/Drawer/SessionList.js.map +1 -0
- package/lib/module/components/Drawer/index.js +51 -0
- package/lib/module/components/Drawer/index.js.map +1 -0
- package/lib/module/components/chat/ChatEmpty.js +5 -4
- package/lib/module/components/chat/ChatEmpty.js.map +1 -1
- package/lib/module/components/chat/ChatHeader.js +10 -4
- package/lib/module/components/chat/ChatHeader.js.map +1 -1
- package/lib/module/components/chat/ChatMessageList.js +8 -7
- package/lib/module/components/chat/ChatMessageList.js.map +1 -1
- package/lib/module/components/chat/footer/index.js +51 -6
- package/lib/module/components/chat/footer/index.js.map +1 -1
- package/lib/module/components/chat/index.js +13 -2
- package/lib/module/components/chat/index.js.map +1 -1
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +3 -2
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
- package/lib/module/components/chat/item/ChatUserMessageItem.js +13 -4
- package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -1
- package/lib/module/components/chat/item/index.js +4 -2
- package/lib/module/components/chat/item/index.js.map +1 -1
- package/lib/module/components/product/CardHorizontal.js +5 -0
- package/lib/module/components/product/CardHorizontal.js.map +1 -1
- package/lib/module/constants/events.js +2 -1
- package/lib/module/constants/events.js.map +1 -1
- package/lib/module/constants/query.js +2 -1
- package/lib/module/constants/query.js.map +1 -1
- package/lib/module/context/ChatContext.js +23 -6
- package/lib/module/context/ChatContext.js.map +1 -1
- package/lib/module/hooks/message/useMessage.js +36 -4
- package/lib/module/hooks/message/useMessage.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +19 -6
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/message/useStreamMessage.js +39 -10
- package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
- package/lib/module/hooks/session/useSearchSessions.js +51 -0
- package/lib/module/hooks/session/useSearchSessions.js.map +1 -0
- package/lib/module/services/endpoints.js +2 -1
- package/lib/module/services/endpoints.js.map +1 -1
- package/lib/module/translation/index.js +28 -0
- package/lib/module/translation/index.js.map +1 -0
- package/lib/module/translation/resources/vi.js +12 -0
- package/lib/module/translation/resources/vi.js.map +1 -0
- package/lib/module/utils/device.js +2 -2
- package/lib/module/utils/device.js.map +1 -1
- package/lib/typescript/src/components/Drawer/DrawerContent.d.ts +3 -0
- package/lib/typescript/src/components/Drawer/DrawerContent.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/EmptyState.d.ts +3 -0
- package/lib/typescript/src/components/Drawer/EmptyState.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/LoadingState.d.ts +3 -0
- package/lib/typescript/src/components/Drawer/LoadingState.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/NewChatButton.d.ts +6 -0
- package/lib/typescript/src/components/Drawer/NewChatButton.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/SearchInput.d.ts +7 -0
- package/lib/typescript/src/components/Drawer/SearchInput.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/SessionItem.d.ts +9 -0
- package/lib/typescript/src/components/Drawer/SessionItem.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/SessionList.d.ts +15 -0
- package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -0
- package/lib/typescript/src/components/Drawer/index.d.ts +7 -0
- package/lib/typescript/src/components/Drawer/index.d.ts.map +1 -0
- package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatMessageList.d.ts +5 -1
- package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/footer/index.d.ts +5 -1
- package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts +2 -1
- package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/constants/events.d.ts +1 -0
- package/lib/typescript/src/constants/events.d.ts.map +1 -1
- package/lib/typescript/src/constants/query.d.ts +1 -0
- package/lib/typescript/src/constants/query.d.ts.map +1 -1
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +3 -2
- package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/session/useSearchSessions.d.ts +2 -0
- package/lib/typescript/src/hooks/session/useSearchSessions.d.ts.map +1 -0
- package/lib/typescript/src/services/endpoints.d.ts +1 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
- package/lib/typescript/src/translation/index.d.ts +5 -0
- package/lib/typescript/src/translation/index.d.ts.map +1 -0
- package/lib/typescript/src/translation/resources/vi.d.ts +11 -0
- package/lib/typescript/src/translation/resources/vi.d.ts.map +1 -0
- package/lib/typescript/src/types/chat.d.ts +2 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/types/dto.d.ts +16 -0
- package/lib/typescript/src/types/dto.d.ts.map +1 -1
- package/lib/typescript/src/utils/device.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/components/Drawer/DrawerContent.tsx +94 -0
- package/src/components/Drawer/EmptyState.tsx +26 -0
- package/src/components/Drawer/LoadingState.tsx +26 -0
- package/src/components/Drawer/NewChatButton.tsx +25 -0
- package/src/components/Drawer/SearchInput.tsx +37 -0
- package/src/components/Drawer/SessionItem.tsx +68 -0
- package/src/components/Drawer/SessionList.tsx +71 -0
- package/src/components/Drawer/index.tsx +57 -0
- package/src/components/chat/ChatEmpty.tsx +5 -6
- package/src/components/chat/ChatHeader.tsx +14 -6
- package/src/components/chat/ChatMessageList.tsx +9 -5
- package/src/components/chat/footer/index.tsx +69 -7
- package/src/components/chat/index.tsx +14 -4
- package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +3 -4
- package/src/components/chat/item/ChatUserMessageItem.tsx +13 -5
- package/src/components/chat/item/index.tsx +2 -2
- package/src/components/product/CardHorizontal.tsx +5 -0
- package/src/constants/events.ts +1 -0
- package/src/constants/query.ts +1 -0
- package/src/context/ChatContext.tsx +21 -3
- package/src/hooks/message/useMessage.ts +54 -4
- package/src/hooks/message/useSendMessage.ts +22 -5
- package/src/hooks/message/useStreamMessage.ts +59 -12
- package/src/hooks/session/useSearchSessions.ts +62 -0
- package/src/services/endpoints.ts +1 -0
- package/src/translation/index.ts +22 -0
- package/src/translation/resources/vi.ts +10 -0
- package/src/types/chat.ts +2 -0
- package/src/types/dto.ts +19 -0
- package/src/utils/device.ts +9 -8
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { createContext, useContext } from 'react';
|
|
3
|
+
import { createContext, useContext, useRef } from 'react';
|
|
4
4
|
import ChatBotAI from "../components/chat/index.js";
|
|
5
5
|
import Portal from "../components/portal/index.js";
|
|
6
|
-
import
|
|
6
|
+
import ReanimatedDrawerExample from "../components/Drawer/index.js";
|
|
7
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
8
|
export const ChatContext = /*#__PURE__*/createContext({
|
|
8
9
|
apiAddress: '',
|
|
9
10
|
userId: '',
|
|
@@ -12,10 +13,19 @@ export const ChatContext = /*#__PURE__*/createContext({
|
|
|
12
13
|
onBuyNow: () => {},
|
|
13
14
|
onNavigateToProduct: () => {},
|
|
14
15
|
csTeamId: '',
|
|
15
|
-
pushLinkTo: () => {}
|
|
16
|
+
pushLinkTo: () => {},
|
|
17
|
+
openDrawer: () => {},
|
|
18
|
+
closeDrawer: () => {}
|
|
16
19
|
});
|
|
17
20
|
export const useChatContext = () => useContext(ChatContext);
|
|
18
21
|
export const ChatProvider = props => {
|
|
22
|
+
const ref = useRef(null);
|
|
23
|
+
const openDrawer = () => {
|
|
24
|
+
ref.current?.openDrawer();
|
|
25
|
+
};
|
|
26
|
+
const closeDrawer = () => {
|
|
27
|
+
ref.current?.closeDrawer();
|
|
28
|
+
};
|
|
19
29
|
const {
|
|
20
30
|
apiAddress,
|
|
21
31
|
userId,
|
|
@@ -27,7 +37,7 @@ export const ChatProvider = props => {
|
|
|
27
37
|
csTeamId,
|
|
28
38
|
pushLinkTo
|
|
29
39
|
} = props;
|
|
30
|
-
return /*#__PURE__*/
|
|
40
|
+
return /*#__PURE__*/_jsx(ChatContext.Provider, {
|
|
31
41
|
value: {
|
|
32
42
|
apiAddress,
|
|
33
43
|
userId,
|
|
@@ -37,9 +47,16 @@ export const ChatProvider = props => {
|
|
|
37
47
|
onBuyNow,
|
|
38
48
|
onNavigateToProduct,
|
|
39
49
|
csTeamId,
|
|
40
|
-
pushLinkTo
|
|
50
|
+
pushLinkTo,
|
|
51
|
+
openDrawer,
|
|
52
|
+
closeDrawer
|
|
41
53
|
},
|
|
42
|
-
children:
|
|
54
|
+
children: /*#__PURE__*/_jsx(ReanimatedDrawerExample, {
|
|
55
|
+
ref: ref,
|
|
56
|
+
children: /*#__PURE__*/_jsxs(_Fragment, {
|
|
57
|
+
children: [/*#__PURE__*/_jsx(ChatBotAI, {}), /*#__PURE__*/_jsx(Portal, {})]
|
|
58
|
+
})
|
|
59
|
+
})
|
|
43
60
|
});
|
|
44
61
|
};
|
|
45
62
|
//# sourceMappingURL=ChatContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","ChatBotAI","Portal","jsx","_jsx","jsxs","_jsxs","ChatContext","apiAddress","userId","cartButton","undefined","onAddToCart","onBuyNow","onNavigateToProduct","csTeamId","pushLinkTo","useChatContext","ChatProvider","props","openImageViewer","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useRef","ChatBotAI","Portal","ReanimatedDrawerExample","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ChatContext","apiAddress","userId","cartButton","undefined","onAddToCart","onBuyNow","onNavigateToProduct","csTeamId","pushLinkTo","openDrawer","closeDrawer","useChatContext","ChatProvider","props","ref","current","openImageViewer","Provider","value","children"],"sourceRoot":"../../../src","sources":["context/ChatContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEzD,OAAOC,SAAS,MAAM,6BAAoB;AAC1C,OAAOC,MAAM,MAAM,+BAAsB;AACzC,OAAOC,uBAAuB,MAAM,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3D,OAAO,MAAMC,WAAW,gBAAGZ,aAAa,CAAkB;EACxDa,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAEC,SAAS;EACrBC,WAAW,EAAEA,CAAA,KAAM,CAAC,CAAC;EACrBC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBC,mBAAmB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC7BC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,WAAW,EAAEA,CAAA,KAAM,CAAC;AACtB,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMvB,UAAU,CAACW,WAAW,CAAC;AAE3D,OAAO,MAAMa,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAMC,GAAG,GAAGzB,MAAM,CAAM,IAAI,CAAC;EAC7B,MAAMoB,UAAU,GAAGA,CAAA,KAAM;IACvBK,GAAG,CAACC,OAAO,EAAEN,UAAU,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBI,GAAG,CAACC,OAAO,EAAEL,WAAW,CAAC,CAAC;EAC5B,CAAC;EACD,MAAM;IACJV,UAAU;IACVC,MAAM;IACNC,UAAU;IACVc,eAAe;IACfZ,WAAW;IACXC,QAAQ;IACRC,mBAAmB;IACnBC,QAAQ;IACRC;EACF,CAAC,GAAGK,KAAK;EAET,oBACEnB,IAAA,CAACK,WAAW,CAACkB,QAAQ;IACnBC,KAAK,EAAE;MACLlB,UAAU;MACVC,MAAM;MACNC,UAAU;MACVc,eAAe;MACfZ,WAAW;MACXC,QAAQ;MACRC,mBAAmB;MACnBC,QAAQ;MACRC,UAAU;MACVC,UAAU;MACVC;IACF,CAAE;IAAAS,QAAA,eAEFzB,IAAA,CAACF,uBAAuB;MAACsB,GAAG,EAAEA,GAAI;MAAAK,QAAA,eAChCrB,KAAA,CAAAF,SAAA;QAAAuB,QAAA,gBACEzB,IAAA,CAACJ,SAAS,IAAE,CAAC,eACbI,IAAA,CAACH,MAAM,IAAE,CAAC;MAAA,CACV;IAAC,CACoB;EAAC,CACN,CAAC;AAE3B,CAAC","ignoreList":[]}
|
|
@@ -40,10 +40,24 @@ export const useMessage = () => {
|
|
|
40
40
|
}, [sessionId, onGetSessionById]);
|
|
41
41
|
useEffect(() => {
|
|
42
42
|
const subOneMessage = DeviceEventEmitter.addListener(events.updateOneMessage, messageItem => {
|
|
43
|
-
setLoadState(prev =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
setLoadState(prev => {
|
|
44
|
+
const messageIndex = prev.messages.findIndex(m => m.id === messageItem.id);
|
|
45
|
+
if (messageIndex !== -1) {
|
|
46
|
+
const updatedMessages = [...prev.messages];
|
|
47
|
+
updatedMessages[messageIndex] = {
|
|
48
|
+
...updatedMessages[messageIndex],
|
|
49
|
+
...messageItem
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
...prev,
|
|
53
|
+
messages: updatedMessages
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
...prev,
|
|
58
|
+
messages: [messageItem, ...prev.messages]
|
|
59
|
+
};
|
|
60
|
+
});
|
|
47
61
|
});
|
|
48
62
|
const subMultipleMessage = DeviceEventEmitter.addListener(events.updateMultipleMessage, messageItems => {
|
|
49
63
|
setLoadState(prev => {
|
|
@@ -72,10 +86,28 @@ export const useMessage = () => {
|
|
|
72
86
|
};
|
|
73
87
|
});
|
|
74
88
|
});
|
|
89
|
+
const subUpdateMessageError = DeviceEventEmitter.addListener(events.updateMessageError, (messageId, metadata) => {
|
|
90
|
+
setLoadState(prev => {
|
|
91
|
+
const messageIndex = prev.messages.findIndex(m => m.id === messageId);
|
|
92
|
+
if (messageIndex === -1) return prev;
|
|
93
|
+
const updatedMessages = prev.messages.slice(messageIndex).map((m, i) => i === 0 ? {
|
|
94
|
+
...m,
|
|
95
|
+
metadata: {
|
|
96
|
+
...m.metadata,
|
|
97
|
+
...metadata
|
|
98
|
+
}
|
|
99
|
+
} : m);
|
|
100
|
+
return {
|
|
101
|
+
...prev,
|
|
102
|
+
messages: updatedMessages
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
});
|
|
75
106
|
return () => {
|
|
76
107
|
subOneMessage.remove();
|
|
77
108
|
subMultipleMessage.remove();
|
|
78
109
|
subForceUpdateMessages.remove();
|
|
110
|
+
subUpdateMessageError.remove();
|
|
79
111
|
};
|
|
80
112
|
}, []);
|
|
81
113
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","useSessionStore","useFetchSessionById","DeviceEventEmitter","events","initialState","id","title","created_at","updated_at","metadata","source","shared","messages","useMessage","sessionId","state","mutateAsync","getSessionById","loadState","setLoadState","onGetSessionById","res","prev","length","reverse","subOneMessage","addListener","updateOneMessage","messageItem","messageIndex","findIndex","m","updatedMessages","subMultipleMessage","updateMultipleMessage","messageItems","existingIds","Set","map","filtered","filter","has","subForceUpdateMessages","forceUpdateMessages","merged","msg","update","find","u","newItems","subUpdateMessageError","updateMessageError","messageId","slice","i","remove","messageState"],"sourceRoot":"../../../../src","sources":["hooks/message/useMessage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback } from 'react';
|
|
4
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
4
5
|
import useSessionStore from "../../store/session.js";
|
|
5
6
|
import { useStreamMessage } from "./useStreamMessage.js";
|
|
6
7
|
import { events } from "../../constants/events.js";
|
|
@@ -8,17 +9,21 @@ import { DeviceEventEmitter } from 'react-native';
|
|
|
8
9
|
import { MessageType, RoleType } from "../../types/index.js";
|
|
9
10
|
import dayjs from 'dayjs';
|
|
10
11
|
import { useCreateSession } from "../session/useCreateSession.js";
|
|
12
|
+
import { QUERY_KEYS } from "../../constants/query.js";
|
|
11
13
|
export const useSendMessage = () => {
|
|
12
14
|
const {
|
|
13
15
|
startStream,
|
|
14
|
-
stopStream
|
|
16
|
+
stopStream,
|
|
17
|
+
retryStream
|
|
15
18
|
} = useStreamMessage();
|
|
16
19
|
const {
|
|
17
20
|
mutateAsync: createSession
|
|
18
21
|
} = useCreateSession();
|
|
22
|
+
const queryClient = useQueryClient();
|
|
19
23
|
const onSendMessage = useCallback(async (message, attachments) => {
|
|
24
|
+
const messageId = dayjs().valueOf().toString();
|
|
20
25
|
const messageItem = {
|
|
21
|
-
id:
|
|
26
|
+
id: messageId,
|
|
22
27
|
attachments: attachments || [],
|
|
23
28
|
type: MessageType.user_message,
|
|
24
29
|
created_at: dayjs().toISOString(),
|
|
@@ -28,7 +33,9 @@ export const useSendMessage = () => {
|
|
|
28
33
|
response_metadata: {},
|
|
29
34
|
name: null,
|
|
30
35
|
role: RoleType.user,
|
|
31
|
-
metadata: {}
|
|
36
|
+
metadata: {},
|
|
37
|
+
manual_retry_attempts: 0,
|
|
38
|
+
group_suggestion_id: null
|
|
32
39
|
};
|
|
33
40
|
DeviceEventEmitter.emit(events.updateOneMessage, messageItem);
|
|
34
41
|
let latestSessionId;
|
|
@@ -39,6 +46,11 @@ export const useSendMessage = () => {
|
|
|
39
46
|
if (!resSession) return;
|
|
40
47
|
useSessionStore.getState().setSessionId(resSession.id);
|
|
41
48
|
latestSessionId = resSession.id;
|
|
49
|
+
// Only refetch page 1 of search sessions
|
|
50
|
+
queryClient.refetchQueries({
|
|
51
|
+
queryKey: [QUERY_KEYS.SEARCH_SESSIONS],
|
|
52
|
+
refetchPage: (_page, index) => index === 0
|
|
53
|
+
});
|
|
42
54
|
}
|
|
43
55
|
startStream({
|
|
44
56
|
content: message,
|
|
@@ -48,11 +60,12 @@ export const useSendMessage = () => {
|
|
|
48
60
|
source: 'user'
|
|
49
61
|
},
|
|
50
62
|
manual_retry_attempts: 0
|
|
51
|
-
}, latestSessionId);
|
|
52
|
-
}, [startStream, createSession]);
|
|
63
|
+
}, latestSessionId, messageId);
|
|
64
|
+
}, [startStream, createSession, queryClient]);
|
|
53
65
|
return {
|
|
54
66
|
onSendMessage,
|
|
55
|
-
stopStream
|
|
67
|
+
stopStream,
|
|
68
|
+
retryStream
|
|
56
69
|
};
|
|
57
70
|
};
|
|
58
71
|
//# sourceMappingURL=useSendMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","useSendMessage","startStream","stopStream","mutateAsync","createSession","onSendMessage","message","attachments","
|
|
1
|
+
{"version":3,"names":["useCallback","useQueryClient","useSessionStore","useStreamMessage","events","DeviceEventEmitter","MessageType","RoleType","dayjs","useCreateSession","QUERY_KEYS","useSendMessage","startStream","stopStream","retryStream","mutateAsync","createSession","queryClient","onSendMessage","message","attachments","messageId","valueOf","toString","messageItem","id","type","user_message","created_at","toISOString","modified_at","content","additional_kwargs","response_metadata","name","role","user","metadata","manual_retry_attempts","group_suggestion_id","emit","updateOneMessage","latestSessionId","getState","sessionId","resSession","title","setSessionId","refetchQueries","queryKey","SEARCH_SESSIONS","refetchPage","_page","index","stream","source"],"sourceRoot":"../../../../src","sources":["hooks/message/useSendMessage.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,MAAM,QAAQ,2BAAwB;AAC/C,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAAoCC,WAAW,EAAEC,QAAQ,QAAQ,sBAAa;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASC,UAAU,QAAQ,0BAAuB;AAIlD,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGX,gBAAgB,CAAC,CAAC;EACnE,MAAM;IAAEY,WAAW,EAAEC;EAAc,CAAC,GAAGP,gBAAgB,CAAC,CAAC;EACzD,MAAMQ,WAAW,GAAGhB,cAAc,CAAC,CAAC;EACpC,MAAMiB,aAAa,GAAGlB,WAAW,CAC/B,OAAOmB,OAAe,EAAEC,WAA2B,KAAK;IACtD,MAAMC,SAAS,GAAGb,KAAK,CAAC,CAAC,CAACc,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IAC9C,MAAMC,WAAyB,GAAG;MAChCC,EAAE,EAAEJ,SAAS;MACbD,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BM,IAAI,EAAEpB,WAAW,CAACqB,YAAY;MAC9BC,UAAU,EAAEpB,KAAK,CAAC,CAAC,CAACqB,WAAW,CAAC,CAAC;MACjCC,WAAW,EAAEtB,KAAK,CAAC,CAAC,CAACqB,WAAW,CAAC,CAAC;MAClCE,OAAO,EAAEZ,OAAO;MAChBa,iBAAiB,EAAE,CAAC,CAAC;MACrBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,IAAI,EAAE,IAAI;MACVC,IAAI,EAAE5B,QAAQ,CAAC6B,IAAI;MACnBC,QAAQ,EAAE,CAAC,CAAC;MACZC,qBAAqB,EAAE,CAAC;MACxBC,mBAAmB,EAAE;IACvB,CAAC;IACDlC,kBAAkB,CAACmC,IAAI,CAACpC,MAAM,CAACqC,gBAAgB,EAAEjB,WAAW,CAAC;IAE7D,IAAIkB,eAAe;IACnB,IAAI,CAACxC,eAAe,CAACyC,QAAQ,CAAC,CAAC,CAACC,SAAS,EAAE;MACzC,MAAMC,UAAU,GAAG,MAAM7B,aAAa,CAAC;QAAE8B,KAAK,EAAE3B;MAAQ,CAAC,CAAC;MAC1D,IAAI,CAAC0B,UAAU,EAAE;MACjB3C,eAAe,CAACyC,QAAQ,CAAC,CAAC,CAACI,YAAY,CAACF,UAAU,CAACpB,EAAE,CAAC;MACtDiB,eAAe,GAAGG,UAAU,CAACpB,EAAE;MAC/B;MACAR,WAAW,CAAC+B,cAAc,CAAC;QACzBC,QAAQ,EAAE,CAACvC,UAAU,CAACwC,eAAe,CAAC;QACtCC,WAAW,EAAEA,CACXC,KAA2C,EAC3CC,KAAa,KACVA,KAAK,KAAK;MACjB,CAAC,CAAC;IACJ;IACAzC,WAAW,CACT;MACEmB,OAAO,EAAEZ,OAAO;MAChBmC,MAAM,EAAE,IAAI;MACZlC,WAAW,EAAEA,WAAW,IAAI,EAAE;MAC9BiB,QAAQ,EAAE;QACRkB,MAAM,EAAE;MACV,CAAC;MACDjB,qBAAqB,EAAE;IACzB,CAAC,EACDI,eAAe,EACfrB,SACF,CAAC;EACH,CAAC,EACD,CAACT,WAAW,EAAEI,aAAa,EAAEC,WAAW,CAC1C,CAAC;EAED,OAAO;IACLC,aAAa;IACbL,UAAU;IACVC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ export const useStreamMessage = () => {
|
|
|
21
21
|
useEffect(() => {
|
|
22
22
|
sessionIdRef.current = sessionId;
|
|
23
23
|
}, [sessionId]);
|
|
24
|
-
const startStream = useCallback((payload, latestSessionId) => {
|
|
24
|
+
const startStream = useCallback((payload, latestSessionId, localMessageId) => {
|
|
25
25
|
const token = global?.accessToken;
|
|
26
26
|
const currentSessionId = latestSessionId || sessionIdRef.current;
|
|
27
27
|
if (!currentSessionId || !token) return;
|
|
@@ -54,14 +54,30 @@ export const useStreamMessage = () => {
|
|
|
54
54
|
leading: true,
|
|
55
55
|
trailing: true
|
|
56
56
|
});
|
|
57
|
+
const onStreamMessageEnd = async (isError, messageId) => {
|
|
58
|
+
await new Promise(resolve => setTimeout(resolve, 600));
|
|
59
|
+
if (isError) {
|
|
60
|
+
DeviceEventEmitter.emit(events.updateMessageError, [{
|
|
61
|
+
id: messageId,
|
|
62
|
+
metadata: {
|
|
63
|
+
needs_retry: true,
|
|
64
|
+
original_message_id: localMessageId || messageId,
|
|
65
|
+
status: 'error'
|
|
66
|
+
}
|
|
67
|
+
}]);
|
|
68
|
+
} else {
|
|
69
|
+
DeviceEventEmitter.emit(events.forceUpdateMessages, Object.values(buffers));
|
|
70
|
+
}
|
|
71
|
+
es.close();
|
|
72
|
+
buffers = {};
|
|
73
|
+
setIsStreaming(false);
|
|
74
|
+
};
|
|
57
75
|
es.addEventListener('message', event => {
|
|
58
76
|
console.log('📩 Stream message:', typeof event.data, JSON?.parse?.(event?.data || '{}'));
|
|
59
77
|
try {
|
|
60
78
|
const data = JSON?.parse?.(event?.data || '{}');
|
|
61
79
|
if (data?.is_done) {
|
|
62
|
-
|
|
63
|
-
es.close();
|
|
64
|
-
setIsStreaming(false);
|
|
80
|
+
onStreamMessageEnd(data?.is_error, data?.message_id);
|
|
65
81
|
} else {
|
|
66
82
|
const message = data?.messages;
|
|
67
83
|
if (!message?.id) return;
|
|
@@ -82,13 +98,10 @@ export const useStreamMessage = () => {
|
|
|
82
98
|
});
|
|
83
99
|
es.addEventListener('error', err => {
|
|
84
100
|
console.log('❌ Stream error:', err);
|
|
85
|
-
|
|
101
|
+
onStreamMessageEnd(true);
|
|
86
102
|
});
|
|
87
103
|
es.addEventListener('close', async () => {
|
|
88
|
-
|
|
89
|
-
DeviceEventEmitter.emit(events.forceUpdateMessages, Object.values(buffers));
|
|
90
|
-
buffers = {};
|
|
91
|
-
setIsStreaming(false);
|
|
104
|
+
console.log('✅ Stream closed');
|
|
92
105
|
});
|
|
93
106
|
esRef.current = es;
|
|
94
107
|
}, [apiAddress, setIsStreaming, setStreamMessage]);
|
|
@@ -100,6 +113,21 @@ export const useStreamMessage = () => {
|
|
|
100
113
|
setIsStreaming(false);
|
|
101
114
|
}
|
|
102
115
|
}, [setIsStreaming]);
|
|
116
|
+
const retryStream = useCallback(messageItem => {
|
|
117
|
+
DeviceEventEmitter.emit(events.updateOneMessage, {
|
|
118
|
+
...messageItem,
|
|
119
|
+
metadata: {}
|
|
120
|
+
});
|
|
121
|
+
startStream({
|
|
122
|
+
content: messageItem.content,
|
|
123
|
+
stream: true,
|
|
124
|
+
attachments: messageItem.attachments,
|
|
125
|
+
metadata: {
|
|
126
|
+
source: 'user'
|
|
127
|
+
},
|
|
128
|
+
manual_retry_attempts: 0
|
|
129
|
+
}, undefined, messageItem.id);
|
|
130
|
+
}, [startStream]);
|
|
103
131
|
useEffect(() => {
|
|
104
132
|
return () => {
|
|
105
133
|
stopStream();
|
|
@@ -107,7 +135,8 @@ export const useStreamMessage = () => {
|
|
|
107
135
|
}, [stopStream]);
|
|
108
136
|
return {
|
|
109
137
|
startStream,
|
|
110
|
-
stopStream
|
|
138
|
+
stopStream,
|
|
139
|
+
retryStream
|
|
111
140
|
};
|
|
112
141
|
};
|
|
113
142
|
//# sourceMappingURL=useStreamMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useCallback","useChatContext","ENDPOINTS","EventSource","useStreamMessageStore","throttle","DeviceEventEmitter","events","useSessionStore","useStreamMessage","sessionId","state","esRef","sessionIdRef","apiAddress","setStreamMessage","setIsStreaming","current","startStream","payload","latestSessionId","token","global","accessToken","currentSessionId","close","url","assistantService","getStreamMessage","es","method","headers","body","JSON","stringify","addEventListener","console","log","buffers","throttledFlush","emit","updateMultipleMessage","Object","values","map","m","content","leading","trailing","event","data","parse","is_done","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useCallback","useChatContext","ENDPOINTS","EventSource","useStreamMessageStore","throttle","DeviceEventEmitter","events","useSessionStore","useStreamMessage","sessionId","state","esRef","sessionIdRef","apiAddress","setStreamMessage","setIsStreaming","current","startStream","payload","latestSessionId","localMessageId","token","global","accessToken","currentSessionId","close","url","assistantService","getStreamMessage","es","method","headers","body","JSON","stringify","addEventListener","console","log","buffers","throttledFlush","emit","updateMultipleMessage","Object","values","map","m","content","leading","trailing","onStreamMessageEnd","isError","messageId","Promise","resolve","setTimeout","updateMessageError","id","metadata","needs_retry","original_message_id","status","forceUpdateMessages","event","data","parse","is_done","is_error","message_id","message","messages","join","error","err","stopStream","retryStream","messageItem","updateOneMessage","stream","attachments","source","manual_retry_attempts","undefined"],"sourceRoot":"../../../../src","sources":["hooks/message/useStreamMessage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useInfiniteQuery } from '@tanstack/react-query';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { QUERY_KEYS } from "../../constants/query.js";
|
|
6
|
+
import { apiInstance } from "../../services/apis.js";
|
|
7
|
+
import { ENDPOINTS } from "../../services/endpoints.js";
|
|
8
|
+
const LIMIT = 20;
|
|
9
|
+
export const useSearchSessions = (enabled = true, searchTerm) => {
|
|
10
|
+
const queryKey = [QUERY_KEYS.SEARCH_SESSIONS, searchTerm];
|
|
11
|
+
const query = useInfiniteQuery({
|
|
12
|
+
queryKey,
|
|
13
|
+
queryFn: async ({
|
|
14
|
+
pageParam = 0
|
|
15
|
+
}) => {
|
|
16
|
+
const res = await apiInstance?.post(ENDPOINTS.assistantService.searchSessions, {
|
|
17
|
+
limit: LIMIT,
|
|
18
|
+
offset: pageParam,
|
|
19
|
+
...(searchTerm?.trim() && {
|
|
20
|
+
search_term: searchTerm.trim()
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
return res?.data;
|
|
24
|
+
},
|
|
25
|
+
getNextPageParam: (lastPage, allPages) => {
|
|
26
|
+
const currentData = lastPage?.data || [];
|
|
27
|
+
if (currentData.length < LIMIT) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return allPages.length * LIMIT;
|
|
31
|
+
},
|
|
32
|
+
initialPageParam: 0,
|
|
33
|
+
enabled: !!apiInstance && enabled,
|
|
34
|
+
staleTime: 5 * 60 * 1000 // 5 minutes
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// Custom refetch that only refetches page 1
|
|
38
|
+
const refetchPageOne = useCallback(async () => {
|
|
39
|
+
// Reset the query to clear all pages and start fresh with page 1
|
|
40
|
+
// await queryClient.resetQueries({ queryKey });
|
|
41
|
+
// Refetch only the first page
|
|
42
|
+
return query.refetch({
|
|
43
|
+
refetchPage: (_page, index) => index === 0
|
|
44
|
+
});
|
|
45
|
+
}, [query]);
|
|
46
|
+
return {
|
|
47
|
+
...query,
|
|
48
|
+
refetch: refetchPageOne
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=useSearchSessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useInfiniteQuery","useCallback","QUERY_KEYS","apiInstance","ENDPOINTS","LIMIT","useSearchSessions","enabled","searchTerm","queryKey","SEARCH_SESSIONS","query","queryFn","pageParam","res","post","assistantService","searchSessions","limit","offset","trim","search_term","data","getNextPageParam","lastPage","allPages","currentData","length","undefined","initialPageParam","staleTime","refetchPageOne","refetch","refetchPage","_page","index"],"sourceRoot":"../../../../src","sources":["hooks/session/useSearchSessions.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,SAAS,QAAQ,6BAA0B;AAIpD,MAAMC,KAAK,GAAG,EAAE;AAEhB,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,OAAgB,GAAG,IAAI,EACvBC,UAAmB,KAChB;EACH,MAAMC,QAAQ,GAAG,CAACP,UAAU,CAACQ,eAAe,EAAEF,UAAU,CAAC;EAEzD,MAAMG,KAAK,GAAGX,gBAAgB,CAAC;IAC7BS,QAAQ;IACRG,OAAO,EAAE,MAAAA,CAAO;MAAEC,SAAS,GAAG;IAAyB,CAAC,KAAK;MAC3D,MAAMC,GAAG,GAAG,MAAMX,WAAW,EAAEY,IAAI,CACjCX,SAAS,CAACY,gBAAgB,CAACC,cAAc,EACzC;QACEC,KAAK,EAAEb,KAAK;QACZc,MAAM,EAAEN,SAAS;QACjB,IAAIL,UAAU,EAAEY,IAAI,CAAC,CAAC,IAAI;UAAEC,WAAW,EAAEb,UAAU,CAACY,IAAI,CAAC;QAAE,CAAC;MAC9D,CACF,CAAC;MACD,OAAON,GAAG,EAAEQ,IAAI;IAClB,CAAC;IACDC,gBAAgB,EAAEA,CAChBC,QAA8C,EAC9CC,QAAgD,KAC7C;MACH,MAAMC,WAAW,GAAGF,QAAQ,EAAEF,IAAI,IAAI,EAAE;MACxC,IAAII,WAAW,CAACC,MAAM,GAAGtB,KAAK,EAAE;QAC9B,OAAOuB,SAAS;MAClB;MACA,OAAOH,QAAQ,CAACE,MAAM,GAAGtB,KAAK;IAChC,CAAC;IACDwB,gBAAgB,EAAE,CAAC;IACnBtB,OAAO,EAAE,CAAC,CAACJ,WAAW,IAAII,OAAO;IACjCuB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAE;EAC5B,CAAC,CAAC;;EAEF;EACA,MAAMC,cAAc,GAAG9B,WAAW,CAAC,YAAY;IAC7C;IACA;IACA;IACA,OAAOU,KAAK,CAACqB,OAAO,CAAC;MACnBC,WAAW,EAAEA,CACXC,KAA2C,EAC3CC,KAAa,KACVA,KAAK,KAAK;IACjB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxB,KAAK,CAAC,CAAC;EAEX,OAAO;IACL,GAAGA,KAAK;IACRqB,OAAO,EAAED;EACX,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ export const ENDPOINTS = {
|
|
|
5
5
|
getSuggestions: '/assistant-service/v1/app/chat/prompt-suggestions',
|
|
6
6
|
getSessionById: sessionId => `/assistant-service/v1/app/chat/sessions/${sessionId}`,
|
|
7
7
|
getStreamMessage: sessionId => `/assistant-service/v1/app/chat/sessions/${sessionId}/stream`,
|
|
8
|
-
createSession: '/assistant-service/v1/app/chat/sessions'
|
|
8
|
+
createSession: '/assistant-service/v1/app/chat/sessions',
|
|
9
|
+
searchSessions: '/assistant-service/v1/app/chat/sessions/search'
|
|
9
10
|
},
|
|
10
11
|
uploaderService: {
|
|
11
12
|
upload: '/uploader-service/v1/uploader/permanently'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENDPOINTS","assistantService","getSuggestions","getSessionById","sessionId","getStreamMessage","createSession","uploaderService","upload","productService","search"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,mDAAmD;IACnEC,cAAc,EAAGC,SAAiB,IAChC,2CAA2CA,SAAS,EAAE;IACxDC,gBAAgB,EAAGD,SAAiB,IAClC,2CAA2CA,SAAS,SAAS;IAC/DE,aAAa,EAAE;
|
|
1
|
+
{"version":3,"names":["ENDPOINTS","assistantService","getSuggestions","getSessionById","sessionId","getStreamMessage","createSession","searchSessions","uploaderService","upload","productService","search"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,gBAAgB,EAAE;IAChBC,cAAc,EAAE,mDAAmD;IACnEC,cAAc,EAAGC,SAAiB,IAChC,2CAA2CA,SAAS,EAAE;IACxDC,gBAAgB,EAAGD,SAAiB,IAClC,2CAA2CA,SAAS,SAAS;IAC/DE,aAAa,EAAE,yCAAyC;IACxDC,cAAc,EAAE;EAClB,CAAC;EACDC,eAAe,EAAE;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import i18n from 'i18next';
|
|
4
|
+
import { initReactI18next } from 'react-i18next';
|
|
5
|
+
import vi from "./resources/vi.js";
|
|
6
|
+
if (!i18n.isInitialized) {
|
|
7
|
+
i18n.use(initReactI18next).init({
|
|
8
|
+
resources: {
|
|
9
|
+
vi: {
|
|
10
|
+
chatbot: vi
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
lng: 'vi',
|
|
14
|
+
// default
|
|
15
|
+
fallbackLng: 'vi',
|
|
16
|
+
interpolation: {
|
|
17
|
+
escapeValue: false
|
|
18
|
+
},
|
|
19
|
+
ns: ['chatbot'],
|
|
20
|
+
defaultNS: 'chatbot'
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//@ts-ignore
|
|
25
|
+
const trans = (...args) => i18n.t(...args);
|
|
26
|
+
export { i18n };
|
|
27
|
+
export default trans;
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["i18n","initReactI18next","vi","isInitialized","use","init","resources","chatbot","lng","fallbackLng","interpolation","escapeValue","ns","defaultNS","trans","args","t"],"sourceRoot":"../../../src","sources":["translation/index.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,EAAE,MAAM,mBAAgB;AAE/B,IAAI,CAACF,IAAI,CAACG,aAAa,EAAE;EACvBH,IAAI,CAACI,GAAG,CAACH,gBAAgB,CAAC,CAACI,IAAI,CAAC;IAC9BC,SAAS,EAAE;MACTJ,EAAE,EAAE;QAAEK,OAAO,EAAEL;MAAG;IACpB,CAAC;IACDM,GAAG,EAAE,IAAI;IAAE;IACXC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE;MAAEC,WAAW,EAAE;IAAM,CAAC;IACrCC,EAAE,EAAE,CAAC,SAAS,CAAC;IACfC,SAAS,EAAE;EACb,CAAC,CAAC;AACJ;;AAEA;AACA,MAAMC,KAAK,GAAGA,CAAC,GAAGC,IAAI,KAAKf,IAAI,CAACgB,CAAC,CAAC,GAAGD,IAAI,CAAQ;AAEjD,SAASf,IAAI;AACb,eAAec,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
input_placeholder: 'Bạn muốn hỏi gì hôm nay?',
|
|
5
|
+
ai_answer_note: 'Lưu ý: Thông tin từ AI chỉ mang tính tham khảo, cần xác minh với chuyên gia hoặc nguồn uy tín.',
|
|
6
|
+
chat_empty_title: 'Bạn cần hỗ trợ gì hôm nay?',
|
|
7
|
+
chat_empty_description_1: 'Hãy đặt câu hỏi hoặc chia sẻ vấn đề của bạn!',
|
|
8
|
+
chat_empty_description_2: 'Những gợi ý dành cho bạn:',
|
|
9
|
+
photo_library: 'Thư viện ảnh',
|
|
10
|
+
camera: 'Chụp ảnh'
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=vi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["input_placeholder","ai_answer_note","chat_empty_title","chat_empty_description_1","chat_empty_description_2","photo_library","camera"],"sourceRoot":"../../../../src","sources":["translation/resources/vi.ts"],"mappings":";;AAAA,eAAe;EACbA,iBAAiB,EAAE,0BAA0B;EAC7CC,cAAc,EACZ,gGAAgG;EAClGC,gBAAgB,EAAE,4BAA4B;EAC9CC,wBAAwB,EAAE,8CAA8C;EACxEC,wBAAwB,EAAE,2BAA2B;EACrDC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE;AACV,CAAC","ignoreList":[]}
|
|
@@ -58,9 +58,9 @@ const requestPermission = async (perm, requestMessage, disableToast = false) =>
|
|
|
58
58
|
const requestReadPhotoPermission = async (disableToast = false) => {
|
|
59
59
|
const perm = Platform.select({
|
|
60
60
|
ios: PERMISSIONS.IOS.PHOTO_LIBRARY,
|
|
61
|
-
default: PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE
|
|
61
|
+
default: Platform.Version >= 33 ? PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES : PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE
|
|
62
62
|
});
|
|
63
|
-
return
|
|
63
|
+
return requestPermission(perm, 'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này', disableToast);
|
|
64
64
|
};
|
|
65
65
|
const requestCameraPermission = async () => {
|
|
66
66
|
const perm = Platform.select({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","
|
|
1
|
+
{"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","Version","READ_MEDIA_IMAGES","READ_EXTERNAL_STORAGE","requestCameraPermission","CAMERA","ANDROID","openImagePicker","options","Promise","resolve","isGranted","Error","value","error","undefined","openImageMultiplePicker","multiple","openCameraPicker","openDocumentPicker","mode"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/DrawerContent.tsx"],"names":[],"mappings":"AAYA,QAAA,MAAM,aAAa,+CAwElB,CAAC;AASF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/EmptyState.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,UAAU,oFAQd,CAAC;AAaH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/LoadingState.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY,oFAQhB,CAAC;AAaH,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewChatButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/NewChatButton.tsx"],"names":[],"mappings":"AAGA,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,aAAa,0DAajB,CAAC;AAIH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SearchInput.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,QAAA,MAAM,WAAW,wDAgBf,CAAC;AAWH,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SessionSearchItem } from '../../types/dto';
|
|
2
|
+
interface SessionItemProps {
|
|
3
|
+
item: SessionSearchItem;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
onPress: (item: SessionSearchItem) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const SessionItem: import("react").NamedExoticComponent<SessionItemProps>;
|
|
8
|
+
export default SessionItem;
|
|
9
|
+
//# sourceMappingURL=SessionItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SessionItem.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,gBAAgB;IACxB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5C;AAED,QAAA,MAAM,WAAW,wDAyBf,CAAC;AAyBH,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SessionSearchItem } from '../../types/dto';
|
|
2
|
+
interface SessionListProps {
|
|
3
|
+
sessions: SessionSearchItem[];
|
|
4
|
+
activeSessionId?: string;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isRefetching: boolean;
|
|
7
|
+
hasNextPage: boolean;
|
|
8
|
+
isFetchingNextPage: boolean;
|
|
9
|
+
onPressSession: (item: SessionSearchItem) => void;
|
|
10
|
+
onRefresh: () => void;
|
|
11
|
+
onEndReached: () => void;
|
|
12
|
+
}
|
|
13
|
+
declare const SessionList: import("react").NamedExoticComponent<SessionListProps>;
|
|
14
|
+
export default SessionList;
|
|
15
|
+
//# sourceMappingURL=SessionList.d.ts.map
|