react-native-chatbot-ai 0.1.13 → 0.1.16

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 (135) hide show
  1. package/lib/module/components/Drawer/DrawerContent.js +85 -0
  2. package/lib/module/components/Drawer/DrawerContent.js.map +1 -0
  3. package/lib/module/components/Drawer/EmptyState.js +28 -0
  4. package/lib/module/components/Drawer/EmptyState.js.map +1 -0
  5. package/lib/module/components/Drawer/LoadingState.js +28 -0
  6. package/lib/module/components/Drawer/LoadingState.js.map +1 -0
  7. package/lib/module/components/Drawer/NewChatButton.js +24 -0
  8. package/lib/module/components/Drawer/NewChatButton.js.map +1 -0
  9. package/lib/module/components/Drawer/SearchInput.js +34 -0
  10. package/lib/module/components/Drawer/SearchInput.js.map +1 -0
  11. package/lib/module/components/Drawer/SessionItem.js +53 -0
  12. package/lib/module/components/Drawer/SessionItem.js.map +1 -0
  13. package/lib/module/components/Drawer/SessionList.js +55 -0
  14. package/lib/module/components/Drawer/SessionList.js.map +1 -0
  15. package/lib/module/components/Drawer/index.js +51 -0
  16. package/lib/module/components/Drawer/index.js.map +1 -0
  17. package/lib/module/components/chat/ChatEmpty.js +5 -4
  18. package/lib/module/components/chat/ChatEmpty.js.map +1 -1
  19. package/lib/module/components/chat/ChatHeader.js +10 -4
  20. package/lib/module/components/chat/ChatHeader.js.map +1 -1
  21. package/lib/module/components/chat/ChatMessageList.js +8 -7
  22. package/lib/module/components/chat/ChatMessageList.js.map +1 -1
  23. package/lib/module/components/chat/footer/index.js +51 -6
  24. package/lib/module/components/chat/footer/index.js.map +1 -1
  25. package/lib/module/components/chat/index.js +13 -2
  26. package/lib/module/components/chat/index.js.map +1 -1
  27. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +3 -2
  28. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
  29. package/lib/module/components/chat/item/ChatUserMessageItem.js +13 -4
  30. package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -1
  31. package/lib/module/components/chat/item/index.js +4 -2
  32. package/lib/module/components/chat/item/index.js.map +1 -1
  33. package/lib/module/components/product/CardHorizontal.js +5 -0
  34. package/lib/module/components/product/CardHorizontal.js.map +1 -1
  35. package/lib/module/constants/events.js +2 -1
  36. package/lib/module/constants/events.js.map +1 -1
  37. package/lib/module/constants/query.js +2 -1
  38. package/lib/module/constants/query.js.map +1 -1
  39. package/lib/module/context/ChatContext.js +23 -6
  40. package/lib/module/context/ChatContext.js.map +1 -1
  41. package/lib/module/hooks/message/useMessage.js +36 -4
  42. package/lib/module/hooks/message/useMessage.js.map +1 -1
  43. package/lib/module/hooks/message/useSendMessage.js +19 -6
  44. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  45. package/lib/module/hooks/message/useStreamMessage.js +39 -10
  46. package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
  47. package/lib/module/hooks/session/useSearchSessions.js +51 -0
  48. package/lib/module/hooks/session/useSearchSessions.js.map +1 -0
  49. package/lib/module/services/endpoints.js +2 -1
  50. package/lib/module/services/endpoints.js.map +1 -1
  51. package/lib/module/translation/index.js +26 -0
  52. package/lib/module/translation/index.js.map +1 -0
  53. package/lib/module/translation/resources/vi.js +12 -0
  54. package/lib/module/translation/resources/vi.js.map +1 -0
  55. package/lib/module/utils/device.js.map +1 -1
  56. package/lib/typescript/src/components/Drawer/DrawerContent.d.ts +3 -0
  57. package/lib/typescript/src/components/Drawer/DrawerContent.d.ts.map +1 -0
  58. package/lib/typescript/src/components/Drawer/EmptyState.d.ts +3 -0
  59. package/lib/typescript/src/components/Drawer/EmptyState.d.ts.map +1 -0
  60. package/lib/typescript/src/components/Drawer/LoadingState.d.ts +3 -0
  61. package/lib/typescript/src/components/Drawer/LoadingState.d.ts.map +1 -0
  62. package/lib/typescript/src/components/Drawer/NewChatButton.d.ts +6 -0
  63. package/lib/typescript/src/components/Drawer/NewChatButton.d.ts.map +1 -0
  64. package/lib/typescript/src/components/Drawer/SearchInput.d.ts +7 -0
  65. package/lib/typescript/src/components/Drawer/SearchInput.d.ts.map +1 -0
  66. package/lib/typescript/src/components/Drawer/SessionItem.d.ts +9 -0
  67. package/lib/typescript/src/components/Drawer/SessionItem.d.ts.map +1 -0
  68. package/lib/typescript/src/components/Drawer/SessionList.d.ts +15 -0
  69. package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -0
  70. package/lib/typescript/src/components/Drawer/index.d.ts +7 -0
  71. package/lib/typescript/src/components/Drawer/index.d.ts.map +1 -0
  72. package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
  73. package/lib/typescript/src/components/chat/ChatHeader.d.ts.map +1 -1
  74. package/lib/typescript/src/components/chat/ChatMessageList.d.ts +5 -1
  75. package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
  76. package/lib/typescript/src/components/chat/footer/index.d.ts +5 -1
  77. package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
  78. package/lib/typescript/src/components/chat/index.d.ts.map +1 -1
  79. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
  80. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts +2 -1
  81. package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -1
  82. package/lib/typescript/src/constants/events.d.ts +1 -0
  83. package/lib/typescript/src/constants/events.d.ts.map +1 -1
  84. package/lib/typescript/src/constants/query.d.ts +1 -0
  85. package/lib/typescript/src/constants/query.d.ts.map +1 -1
  86. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  87. package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -1
  88. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -1
  89. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  90. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +3 -2
  91. package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
  92. package/lib/typescript/src/hooks/session/useSearchSessions.d.ts +2 -0
  93. package/lib/typescript/src/hooks/session/useSearchSessions.d.ts.map +1 -0
  94. package/lib/typescript/src/services/endpoints.d.ts +1 -0
  95. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  96. package/lib/typescript/src/translation/index.d.ts +5 -0
  97. package/lib/typescript/src/translation/index.d.ts.map +1 -0
  98. package/lib/typescript/src/translation/resources/vi.d.ts +11 -0
  99. package/lib/typescript/src/translation/resources/vi.d.ts.map +1 -0
  100. package/lib/typescript/src/types/chat.d.ts +2 -0
  101. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  102. package/lib/typescript/src/types/dto.d.ts +16 -0
  103. package/lib/typescript/src/types/dto.d.ts.map +1 -1
  104. package/lib/typescript/src/utils/device.d.ts.map +1 -1
  105. package/package.json +5 -1
  106. package/src/components/Drawer/DrawerContent.tsx +94 -0
  107. package/src/components/Drawer/EmptyState.tsx +26 -0
  108. package/src/components/Drawer/LoadingState.tsx +26 -0
  109. package/src/components/Drawer/NewChatButton.tsx +25 -0
  110. package/src/components/Drawer/SearchInput.tsx +37 -0
  111. package/src/components/Drawer/SessionItem.tsx +68 -0
  112. package/src/components/Drawer/SessionList.tsx +71 -0
  113. package/src/components/Drawer/index.tsx +57 -0
  114. package/src/components/chat/ChatEmpty.tsx +5 -6
  115. package/src/components/chat/ChatHeader.tsx +14 -6
  116. package/src/components/chat/ChatMessageList.tsx +9 -5
  117. package/src/components/chat/footer/index.tsx +69 -7
  118. package/src/components/chat/index.tsx +14 -4
  119. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +3 -4
  120. package/src/components/chat/item/ChatUserMessageItem.tsx +13 -5
  121. package/src/components/chat/item/index.tsx +2 -2
  122. package/src/components/product/CardHorizontal.tsx +5 -0
  123. package/src/constants/events.ts +1 -0
  124. package/src/constants/query.ts +1 -0
  125. package/src/context/ChatContext.tsx +21 -3
  126. package/src/hooks/message/useMessage.ts +54 -4
  127. package/src/hooks/message/useSendMessage.ts +22 -5
  128. package/src/hooks/message/useStreamMessage.ts +59 -12
  129. package/src/hooks/session/useSearchSessions.ts +62 -0
  130. package/src/services/endpoints.ts +1 -0
  131. package/src/translation/index.ts +20 -0
  132. package/src/translation/resources/vi.ts +10 -0
  133. package/src/types/chat.ts +2 -0
  134. package/src/types/dto.ts +19 -0
  135. package/src/utils/device.ts +4 -3
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useMemo, useState, useEffect, useRef } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer } from '@droppii/libs';
6
+ import debounce from 'lodash/debounce';
7
+ import useSessionStore from "../../store/session.js";
8
+ import { useChatContext } from "../../context/ChatContext.js";
9
+ import { useSearchSessions } from "../../hooks/session/useSearchSessions.js";
10
+ import NewChatButton from "./NewChatButton.js";
11
+ import SearchInput from "./SearchInput.js";
12
+ import SessionList from "./SessionList.js";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const DrawerContent = () => {
15
+ const setSessionId = useSessionStore(state => state.setSessionId);
16
+ const sessionId = useSessionStore(state => state.sessionId);
17
+ const {
18
+ closeDrawer
19
+ } = useChatContext();
20
+ const [searchQuery, setSearchQuery] = useState('');
21
+ const [debouncedSearchTerm, setDebouncedSearchTerm] = useState('');
22
+ const debounceRef = useRef(debounce(value => {
23
+ setDebouncedSearchTerm(value);
24
+ }, 500));
25
+ useEffect(() => {
26
+ const debouncedFn = debounceRef.current;
27
+ debouncedFn(searchQuery);
28
+ return () => {
29
+ debouncedFn.cancel();
30
+ };
31
+ }, [searchQuery]);
32
+ const {
33
+ data,
34
+ isLoading,
35
+ isRefetching,
36
+ refetch,
37
+ fetchNextPage,
38
+ hasNextPage,
39
+ isFetchingNextPage
40
+ } = useSearchSessions(true, debouncedSearchTerm);
41
+ const sessions = useMemo(() => {
42
+ return data?.pages.flatMap(page => page?.data || []) || [];
43
+ }, [data]);
44
+ const onPressNewSession = useCallback(() => {
45
+ setSessionId(undefined);
46
+ closeDrawer();
47
+ }, [setSessionId, closeDrawer]);
48
+ const onPressSession = useCallback(item => {
49
+ setSessionId(item.id);
50
+ closeDrawer();
51
+ }, [setSessionId, closeDrawer]);
52
+ const onEndReached = useCallback(() => {
53
+ if (hasNextPage && !isFetchingNextPage) {
54
+ fetchNextPage();
55
+ }
56
+ }, [hasNextPage, isFetchingNextPage, fetchNextPage]);
57
+ return /*#__PURE__*/_jsxs(KContainer.View, {
58
+ edges: ['top'],
59
+ style: styles.drawerContainer,
60
+ children: [/*#__PURE__*/_jsx(NewChatButton, {
61
+ onPress: onPressNewSession
62
+ }), /*#__PURE__*/_jsx(SearchInput, {
63
+ value: searchQuery,
64
+ onChangeText: setSearchQuery
65
+ }), /*#__PURE__*/_jsx(SessionList, {
66
+ sessions: sessions,
67
+ activeSessionId: sessionId,
68
+ isLoading: isLoading,
69
+ isRefetching: isRefetching,
70
+ hasNextPage: hasNextPage ?? false,
71
+ isFetchingNextPage: isFetchingNextPage,
72
+ onPressSession: onPressSession,
73
+ onRefresh: refetch,
74
+ onEndReached: onEndReached
75
+ })]
76
+ });
77
+ };
78
+ const styles = StyleSheet.create({
79
+ drawerContainer: {
80
+ flex: 1,
81
+ backgroundColor: 'white'
82
+ }
83
+ });
84
+ export default DrawerContent;
85
+ //# sourceMappingURL=DrawerContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useState","useEffect","useRef","StyleSheet","KContainer","debounce","useSessionStore","useChatContext","useSearchSessions","NewChatButton","SearchInput","SessionList","jsx","_jsx","jsxs","_jsxs","DrawerContent","setSessionId","state","sessionId","closeDrawer","searchQuery","setSearchQuery","debouncedSearchTerm","setDebouncedSearchTerm","debounceRef","value","debouncedFn","current","cancel","data","isLoading","isRefetching","refetch","fetchNextPage","hasNextPage","isFetchingNextPage","sessions","pages","flatMap","page","onPressNewSession","undefined","onPressSession","item","id","onEndReached","View","edges","style","styles","drawerContainer","children","onPress","onChangeText","activeSessionId","onRefresh","create","flex","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/Drawer/DrawerContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const EmptyState = /*#__PURE__*/memo(() => {
8
+ return /*#__PURE__*/_jsx(KContainer.View, {
9
+ style: styles.emptyContainer,
10
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
11
+ typo: "TextMdNormal",
12
+ color: KColors.gray.normal,
13
+ center: true,
14
+ children: "Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 ph\xF9 h\u1EE3p"
15
+ })
16
+ });
17
+ });
18
+ EmptyState.displayName = 'EmptyState';
19
+ const styles = StyleSheet.create({
20
+ emptyContainer: {
21
+ flex: 1,
22
+ justifyContent: 'center',
23
+ alignItems: 'center',
24
+ paddingVertical: KSpacingValue['2rem']
25
+ }
26
+ });
27
+ export default EmptyState;
28
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","jsx","_jsx","EmptyState","View","style","styles","emptyContainer","children","Text","typo","color","gray","normal","center","displayName","create","flex","justifyContent","alignItems","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/Drawer/EmptyState.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3E,MAAMC,UAAU,gBAAGR,IAAI,CAAC,MAAM;EAC5B,oBACEO,IAAA,CAACL,UAAU,CAACO,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,cAAe;IAAAC,QAAA,eAC5CN,IAAA,CAACJ,MAAM,CAACW,IAAI;MAACC,IAAI,EAAC,cAAc;MAACC,KAAK,EAAEZ,OAAO,CAACa,IAAI,CAACC,MAAO;MAACC,MAAM;MAAAN,QAAA,EAAC;IAEpE,CAAa;EAAC,CACC,CAAC;AAEtB,CAAC,CAAC;AAEFL,UAAU,CAACY,WAAW,GAAG,YAAY;AAErC,MAAMT,MAAM,GAAGV,UAAU,CAACoB,MAAM,CAAC;EAC/BT,cAAc,EAAE;IACdU,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEpB,aAAa,CAAC,MAAM;EACvC;AACF,CAAC,CAAC;AAEF,eAAeG,UAAU","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const LoadingState = /*#__PURE__*/memo(() => {
8
+ return /*#__PURE__*/_jsx(KContainer.View, {
9
+ style: styles.loadingContainer,
10
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
11
+ typo: "TextMdNormal",
12
+ color: KColors.gray.normal,
13
+ center: true,
14
+ children: "\u0110ang t\u1EA3i..."
15
+ })
16
+ });
17
+ });
18
+ LoadingState.displayName = 'LoadingState';
19
+ const styles = StyleSheet.create({
20
+ loadingContainer: {
21
+ flex: 1,
22
+ justifyContent: 'center',
23
+ alignItems: 'center',
24
+ paddingVertical: KSpacingValue['2rem']
25
+ }
26
+ });
27
+ export default LoadingState;
28
+ //# sourceMappingURL=LoadingState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","jsx","_jsx","LoadingState","View","style","styles","loadingContainer","children","Text","typo","color","gray","normal","center","displayName","create","flex","justifyContent","alignItems","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/Drawer/LoadingState.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3E,MAAMC,YAAY,gBAAGR,IAAI,CAAC,MAAM;EAC9B,oBACEO,IAAA,CAACL,UAAU,CAACO,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,gBAAiB;IAAAC,QAAA,eAC9CN,IAAA,CAACJ,MAAM,CAACW,IAAI;MAACC,IAAI,EAAC,cAAc;MAACC,KAAK,EAAEZ,OAAO,CAACa,IAAI,CAACC,MAAO;MAACC,MAAM;MAAAN,QAAA,EAAC;IAEpE,CAAa;EAAC,CACC,CAAC;AAEtB,CAAC,CAAC;AAEFL,YAAY,CAACY,WAAW,GAAG,cAAc;AAEzC,MAAMT,MAAM,GAAGV,UAAU,CAACoB,MAAM,CAAC;EAC/BT,gBAAgB,EAAE;IAChBU,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEpB,aAAa,CAAC,MAAM;EACvC;AACF,CAAC,CAAC;AAEF,eAAeG,YAAY","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { KButton } from '@droppii/libs';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const NewChatButton = /*#__PURE__*/memo(({
7
+ onPress
8
+ }) => {
9
+ return /*#__PURE__*/_jsx(KButton.Solid, {
10
+ icon: {
11
+ vectorName: 'chat-dot-plus-o'
12
+ },
13
+ kind: "primary",
14
+ label: "Chat m\u1EDBi",
15
+ stretch: true,
16
+ size: "md",
17
+ marginH: "1rem",
18
+ marginB: "0.5rem",
19
+ onPress: onPress
20
+ });
21
+ });
22
+ NewChatButton.displayName = 'NewChatButton';
23
+ export default NewChatButton;
24
+ //# sourceMappingURL=NewChatButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","KButton","jsx","_jsx","NewChatButton","onPress","Solid","icon","vectorName","kind","label","stretch","size","marginH","marginB","displayName"],"sourceRoot":"../../../../src","sources":["components/Drawer/NewChatButton.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,OAAO,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMxC,MAAMC,aAAa,gBAAGJ,IAAI,CAAqB,CAAC;EAAEK;AAAQ,CAAC,KAAK;EAC9D,oBACEF,IAAA,CAACF,OAAO,CAACK,KAAK;IACZC,IAAI,EAAE;MAAEC,UAAU,EAAE;IAAkB,CAAE;IACxCC,IAAI,EAAC,SAAS;IACdC,KAAK,EAAC,eAAU;IAChBC,OAAO;IACPC,IAAI,EAAC,IAAI;IACTC,OAAO,EAAC,MAAM;IACdC,OAAO,EAAC,QAAQ;IAChBT,OAAO,EAAEA;EAAQ,CAClB,CAAC;AAEN,CAAC,CAAC;AAEFD,aAAa,CAACW,WAAW,GAAG,eAAe;AAE3C,eAAeX,aAAa","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KInput, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const SearchInput = /*#__PURE__*/memo(({
8
+ value,
9
+ onChangeText
10
+ }) => {
11
+ return /*#__PURE__*/_jsx(KContainer.View, {
12
+ style: styles.searchInputWrapper,
13
+ children: /*#__PURE__*/_jsx(KInput.TextBox, {
14
+ placeholder: 'Tìm kiếm đoạn chát',
15
+ value: value,
16
+ onChangeText: onChangeText,
17
+ searchIconLeftColor: KColors.gray.normal,
18
+ returnKeyType: "search",
19
+ border: "entire",
20
+ radius: "borderless",
21
+ withBorder: true,
22
+ height: 40
23
+ })
24
+ });
25
+ });
26
+ SearchInput.displayName = 'SearchInput';
27
+ const styles = StyleSheet.create({
28
+ searchInputWrapper: {
29
+ marginHorizontal: KSpacingValue['1rem'],
30
+ marginBottom: KSpacingValue['0.75rem']
31
+ }
32
+ });
33
+ export default SearchInput;
34
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KInput","KColors","KSpacingValue","jsx","_jsx","SearchInput","value","onChangeText","View","style","styles","searchInputWrapper","children","TextBox","placeholder","searchIconLeftColor","gray","normal","returnKeyType","border","radius","withBorder","height","displayName","create","marginHorizontal","marginBottom"],"sourceRoot":"../../../../src","sources":["components/Drawer/SearchInput.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO3E,MAAMC,WAAW,gBAAGR,IAAI,CAAmB,CAAC;EAAES,KAAK;EAAEC;AAAa,CAAC,KAAK;EACtE,oBACEH,IAAA,CAACL,UAAU,CAACS,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,kBAAmB;IAAAC,QAAA,eAChDR,IAAA,CAACJ,MAAM,CAACa,OAAO;MACbC,WAAW,EAAE,oBAAqB;MAClCR,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEA,YAAa;MAC3BQ,mBAAmB,EAAEd,OAAO,CAACe,IAAI,CAACC,MAAO;MACzCC,aAAa,EAAC,QAAQ;MACtBC,MAAM,EAAC,QAAQ;MACfC,MAAM,EAAC,YAAY;MACnBC,UAAU;MACVC,MAAM,EAAE;IAAG,CACZ;EAAC,CACa,CAAC;AAEtB,CAAC,CAAC;AAEFjB,WAAW,CAACkB,WAAW,GAAG,aAAa;AAEvC,MAAMb,MAAM,GAAGZ,UAAU,CAAC0B,MAAM,CAAC;EAC/Bb,kBAAkB,EAAE;IAClBc,gBAAgB,EAAEvB,aAAa,CAAC,MAAM,CAAC;IACvCwB,YAAY,EAAExB,aAAa,CAAC,SAAS;EACvC;AACF,CAAC,CAAC;AAEF,eAAeG,WAAW","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KLabel, KColors, KSpacingValue, KImage } from '@droppii/libs';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const SessionItem = /*#__PURE__*/memo(({
8
+ item,
9
+ isActive,
10
+ onPress
11
+ }) => {
12
+ return /*#__PURE__*/_jsxs(KContainer.View, {
13
+ style: [styles.sessionItem, isActive && styles.sessionItemActive],
14
+ children: [/*#__PURE__*/_jsx(KContainer.Touchable, {
15
+ style: styles.sessionItemTouchable,
16
+ onPress: () => onPress(item),
17
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
18
+ typo: "TextMdNormal",
19
+ color: KColors.gray.dark,
20
+ numberOfLines: 1,
21
+ children: item.title
22
+ })
23
+ }), /*#__PURE__*/_jsx(KImage.VectorIcons, {
24
+ name: "more-horizontal-b",
25
+ size: 20,
26
+ color: KColors.gray.dark,
27
+ style: styles.menuIcon
28
+ })]
29
+ });
30
+ });
31
+ SessionItem.displayName = 'SessionItem';
32
+ const styles = StyleSheet.create({
33
+ sessionItem: {
34
+ flexDirection: 'row',
35
+ alignItems: 'center',
36
+ height: 38,
37
+ // paddingVertical: KSpacingValue['0.75rem'],
38
+ // paddingHorizontal: KSpacingValue['0.5rem'],
39
+ borderRadius: KSpacingValue['0.5rem']
40
+ // marginVertical: KSpacingValue['0.25rem'],
41
+ },
42
+ sessionItemActive: {
43
+ backgroundColor: KColors.primary.lightest
44
+ },
45
+ sessionItemTouchable: {
46
+ flex: 1
47
+ },
48
+ menuIcon: {
49
+ marginLeft: KSpacingValue['0.5rem']
50
+ }
51
+ });
52
+ export default SessionItem;
53
+ //# sourceMappingURL=SessionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","jsx","_jsx","jsxs","_jsxs","SessionItem","item","isActive","onPress","View","style","styles","sessionItem","sessionItemActive","children","Touchable","sessionItemTouchable","Text","typo","color","gray","dark","numberOfLines","title","VectorIcons","name","size","menuIcon","displayName","create","flexDirection","alignItems","height","borderRadius","backgroundColor","primary","lightest","flex","marginLeft"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionItem.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,MAAM,QACD,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASvB,MAAMC,WAAW,gBAAGX,IAAI,CAAmB,CAAC;EAAEY,IAAI;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,KAAK;EAC1E,oBACEJ,KAAA,CAACR,UAAU,CAACa,IAAI;IACdC,KAAK,EAAE,CAACC,MAAM,CAACC,WAAW,EAAEL,QAAQ,IAAII,MAAM,CAACE,iBAAiB,CAAE;IAAAC,QAAA,gBAElEZ,IAAA,CAACN,UAAU,CAACmB,SAAS;MACnBL,KAAK,EAAEC,MAAM,CAACK,oBAAqB;MACnCR,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACF,IAAI,CAAE;MAAAQ,QAAA,eAE7BZ,IAAA,CAACL,MAAM,CAACoB,IAAI;QACVC,IAAI,EAAC,cAAc;QACnBC,KAAK,EAAErB,OAAO,CAACsB,IAAI,CAACC,IAAK;QACzBC,aAAa,EAAE,CAAE;QAAAR,QAAA,EAEhBR,IAAI,CAACiB;MAAK,CACA;IAAC,CACM,CAAC,eACvBrB,IAAA,CAACF,MAAM,CAACwB,WAAW;MACjBC,IAAI,EAAC,mBAAmB;MACxBC,IAAI,EAAE,EAAG;MACTP,KAAK,EAAErB,OAAO,CAACsB,IAAI,CAACC,IAAK;MACzBX,KAAK,EAAEC,MAAM,CAACgB;IAAS,CACxB,CAAC;EAAA,CACa,CAAC;AAEtB,CAAC,CAAC;AAEFtB,WAAW,CAACuB,WAAW,GAAG,aAAa;AAEvC,MAAMjB,MAAM,GAAGhB,UAAU,CAACkC,MAAM,CAAC;EAC/BjB,WAAW,EAAE;IACXkB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACV;IACA;IACAC,YAAY,EAAElC,aAAa,CAAC,QAAQ;IACpC;EACF,CAAC;EACDc,iBAAiB,EAAE;IACjBqB,eAAe,EAAEpC,OAAO,CAACqC,OAAO,CAACC;EACnC,CAAC;EACDpB,oBAAoB,EAAE;IACpBqB,IAAI,EAAE;EACR,CAAC;EACDV,QAAQ,EAAE;IACRW,UAAU,EAAEvC,aAAa,CAAC,QAAQ;EACpC;AACF,CAAC,CAAC;AAEF,eAAeM,WAAW","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback } from 'react';
4
+ import { StyleSheet, RefreshControl } from 'react-native';
5
+ import { FlashList } from '@shopify/flash-list';
6
+ import { KSpacingValue } from '@droppii/libs';
7
+ import SessionItem from "./SessionItem.js";
8
+ import EmptyState from "./EmptyState.js";
9
+ import { KContainer } from '@droppii/libs';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const ItemSeparator = () => /*#__PURE__*/_jsx(KContainer.View, {
12
+ height: 6
13
+ });
14
+ const SessionList = /*#__PURE__*/memo(({
15
+ sessions,
16
+ activeSessionId: _activeSessionId,
17
+ isLoading,
18
+ isRefetching,
19
+ onPressSession,
20
+ onRefresh,
21
+ onEndReached
22
+ }) => {
23
+ const renderItem = useCallback(({
24
+ item
25
+ }) => /*#__PURE__*/_jsx(SessionItem, {
26
+ item: item,
27
+ isActive: false,
28
+ onPress: onPressSession
29
+ }), [onPressSession]);
30
+ const keyExtractor = useCallback(item => item.id, []);
31
+ return /*#__PURE__*/_jsx(FlashList, {
32
+ data: sessions,
33
+ renderItem: renderItem,
34
+ keyExtractor: keyExtractor,
35
+ contentContainerStyle: styles.listContainer,
36
+ refreshControl: /*#__PURE__*/_jsx(RefreshControl, {
37
+ refreshing: isRefetching,
38
+ onRefresh: onRefresh
39
+ }),
40
+ onEndReached: onEndReached,
41
+ onEndReachedThreshold: 0.5,
42
+ ItemSeparatorComponent: ItemSeparator,
43
+ estimatedItemSize: 80,
44
+ ListEmptyComponent: !isLoading ? /*#__PURE__*/_jsx(EmptyState, {}) : null
45
+ });
46
+ });
47
+ SessionList.displayName = 'SessionList';
48
+ const styles = StyleSheet.create({
49
+ listContainer: {
50
+ flexGrow: 1,
51
+ paddingHorizontal: KSpacingValue['1rem']
52
+ }
53
+ });
54
+ export default SessionList;
55
+ //# sourceMappingURL=SessionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","StyleSheet","RefreshControl","FlashList","KSpacingValue","SessionItem","EmptyState","KContainer","jsx","_jsx","ItemSeparator","View","height","SessionList","sessions","activeSessionId","_activeSessionId","isLoading","isRefetching","onPressSession","onRefresh","onEndReached","renderItem","item","isActive","onPress","keyExtractor","id","data","contentContainerStyle","styles","listContainer","refreshControl","refreshing","onEndReachedThreshold","ItemSeparatorComponent","estimatedItemSize","ListEmptyComponent","displayName","create","flexGrow","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionList.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AACzD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,aAAa,QAAQ,eAAe;AAE7C,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,UAAU,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,aAAa,GAAGA,CAAA,kBAAMD,IAAA,CAACF,UAAU,CAACI,IAAI;EAACC,MAAM,EAAE;AAAE,CAAE,CAAC;AAc1D,MAAMC,WAAW,gBAAGd,IAAI,CACtB,CAAC;EACCe,QAAQ;EACRC,eAAe,EAAEC,gBAAgB;EACjCC,SAAS;EACTC,YAAY;EACZC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGtB,WAAW,CAC5B,CAAC;IAAEuB;EAAkC,CAAC,kBACpCd,IAAA,CAACJ,WAAW;IAACkB,IAAI,EAAEA,IAAK;IAACC,QAAQ,EAAE,KAAM;IAACC,OAAO,EAAEN;EAAe,CAAE,CACrE,EACD,CAACA,cAAc,CACjB,CAAC;EAED,MAAMO,YAAY,GAAG1B,WAAW,CAAEuB,IAAuB,IAAKA,IAAI,CAACI,EAAE,EAAE,EAAE,CAAC;EAE1E,oBACElB,IAAA,CAACN,SAAS;IACRyB,IAAI,EAAEd,QAAS;IACfQ,UAAU,EAAEA,UAAW;IACvBI,YAAY,EAAEA,YAAa;IAC3BG,qBAAqB,EAAEC,MAAM,CAACC,aAAc;IAC5CC,cAAc,eACZvB,IAAA,CAACP,cAAc;MAAC+B,UAAU,EAAEf,YAAa;MAACE,SAAS,EAAEA;IAAU,CAAE,CAClE;IACDC,YAAY,EAAEA,YAAa;IAC3Ba,qBAAqB,EAAE,GAAI;IAC3BC,sBAAsB,EAAEzB,aAAc;IACtC0B,iBAAiB,EAAE,EAAG;IACtBC,kBAAkB,EAAE,CAACpB,SAAS,gBAAGR,IAAA,CAACH,UAAU,IAAE,CAAC,GAAG;EAAK,CACxD,CAAC;AAEN,CACF,CAAC;AAEDO,WAAW,CAACyB,WAAW,GAAG,aAAa;AAEvC,MAAMR,MAAM,GAAG7B,UAAU,CAACsC,MAAM,CAAC;EAC/BR,aAAa,EAAE;IACbS,QAAQ,EAAE,CAAC;IACXC,iBAAiB,EAAErC,aAAa,CAAC,MAAM;EACzC;AACF,CAAC,CAAC;AAEF,eAAeS,WAAW","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { useWindowDimensions } from 'react-native';
5
+ import { StyleSheet, View } from 'react-native';
6
+ import ReanimatedDrawerLayout, { DrawerType, DrawerPosition } from 'react-native-gesture-handler/ReanimatedDrawerLayout';
7
+ import DrawerContent from "./DrawerContent.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const ReanimatedDrawerExample = /*#__PURE__*/React.forwardRef(({
10
+ children
11
+ }, ref) => {
12
+ const {
13
+ width
14
+ } = useWindowDimensions();
15
+ // const tapGesture = Gesture.Tap()
16
+ // .runOnJS(true)
17
+ // .onStart(() => {
18
+ // if (ref && 'current' in ref) {
19
+ // ref.current?.openDrawer();
20
+ // }
21
+ // });
22
+
23
+ return /*#__PURE__*/_jsx(ReanimatedDrawerLayout, {
24
+ ref: ref,
25
+ renderNavigationView: () => /*#__PURE__*/_jsx(DrawerContent, {}),
26
+ drawerPosition: DrawerPosition.LEFT,
27
+ drawerType: DrawerType.FRONT,
28
+ drawerWidth: width * 0.8,
29
+ children: /*#__PURE__*/_jsx(View, {
30
+ style: styles.innerContainer,
31
+ children: children
32
+ })
33
+ });
34
+ });
35
+ const styles = StyleSheet.create({
36
+ drawerContainer: {
37
+ flex: 1,
38
+ justifyContent: 'center',
39
+ alignItems: 'center',
40
+ backgroundColor: 'pink'
41
+ },
42
+ innerContainer: {
43
+ flex: 1
44
+ },
45
+ box: {
46
+ padding: 20,
47
+ backgroundColor: 'pink'
48
+ }
49
+ });
50
+ export default ReanimatedDrawerExample;
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useWindowDimensions","StyleSheet","View","ReanimatedDrawerLayout","DrawerType","DrawerPosition","DrawerContent","jsx","_jsx","ReanimatedDrawerExample","forwardRef","children","ref","width","renderNavigationView","drawerPosition","LEFT","drawerType","FRONT","drawerWidth","style","styles","innerContainer","create","drawerContainer","flex","justifyContent","alignItems","backgroundColor","box","padding"],"sourceRoot":"../../../../src","sources":["components/Drawer/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,OAAOC,sBAAsB,IAC3BC,UAAU,EACVC,cAAc,QACT,qDAAqD;AAC5D,OAAOC,aAAa,MAAM,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5C,MAAMC,uBAAuB,gBAAGV,KAAK,CAACW,UAAU,CAG9C,CAAC;EAAEC;AAAS,CAAC,EAAEC,GAAG,KAAK;EACvB,MAAM;IAAEC;EAAM,CAAC,GAAGb,mBAAmB,CAAC,CAAC;EACvC;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,oBACEQ,IAAA,CAACL,sBAAsB;IACrBS,GAAG,EAAEA,GAAI;IACTE,oBAAoB,EAAEA,CAAA,kBAAMN,IAAA,CAACF,aAAa,IAAE,CAAE;IAC9CS,cAAc,EAAEV,cAAc,CAACW,IAAK;IACpCC,UAAU,EAAEb,UAAU,CAACc,KAAM;IAC7BC,WAAW,EAAEN,KAAK,GAAG,GAAI;IAAAF,QAAA,eAEzBH,IAAA,CAACN,IAAI;MAACkB,KAAK,EAAEC,MAAM,CAACC,cAAe;MAAAX,QAAA,EAAEA;IAAQ,CAAO;EAAC,CAC/B,CAAC;AAE7B,CAAC,CAAC;AAEF,MAAMU,MAAM,GAAGpB,UAAU,CAACsB,MAAM,CAAC;EAC/BC,eAAe,EAAE;IACfC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDN,cAAc,EAAE;IACdG,IAAI,EAAE;EACR,CAAC;EACDI,GAAG,EAAE;IACHC,OAAO,EAAE,EAAE;IACXF,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAEF,eAAenB,uBAAuB","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useFetchSuggestions } from "../../hooks/suggestions/useFetchSuggestions
6
6
  import SuggestionItem from "./SuggestionItem.js";
7
7
  import { useSendMessage } from "../../hooks/message/useSendMessage.js";
8
8
  import debounce from 'lodash/debounce';
9
+ import trans from "../../translation/index.js";
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const ChatEmpty = () => {
11
12
  const {
@@ -23,19 +24,19 @@ const ChatEmpty = () => {
23
24
  children: [/*#__PURE__*/_jsx(KLabel.Text, {
24
25
  typo: "TextXLgMedium",
25
26
  center: true,
26
- children: 'Bạn cần hỗ trợ gì hôm nay?'
27
+ children: trans('chat_empty_title')
27
28
  }), /*#__PURE__*/_jsxs(KContainer.View, {
28
29
  center: true,
29
30
  children: [/*#__PURE__*/_jsx(KLabel.Text, {
30
31
  typo: "TextMdNormal",
31
32
  center: true,
32
33
  color: KColors.gray.normal,
33
- children: 'Hãy đặt câu hỏi hoặc chia sẻ vấn đề của bạn!'
34
+ children: trans('chat_empty_description_1')
34
35
  }), /*#__PURE__*/_jsx(KLabel.Text, {
35
36
  typo: "TextMdNormal",
36
37
  center: true,
37
38
  color: KColors.gray.normal,
38
- children: 'Những gợi ý dành cho bạn:'
39
+ children: trans('chat_empty_description_2')
39
40
  })]
40
41
  }), data?.suggestions?.map(item => /*#__PURE__*/_jsx(SuggestionItem, {
41
42
  item: item,
@@ -44,7 +45,7 @@ const ChatEmpty = () => {
44
45
  typo: "TextSmNormal",
45
46
  color: KColors.gray.light,
46
47
  textAlign: "center",
47
- children: '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.'
48
+ children: trans('ai_answer_note')
48
49
  })]
49
50
  });
50
51
  };
@@ -1 +1 @@
1
- {"version":3,"names":["KColors","KContainer","KLabel","KSpacingValue","StyleSheet","Platform","useFetchSuggestions","SuggestionItem","useSendMessage","debounce","jsx","_jsx","jsxs","_jsxs","ChatEmpty","data","onSendMessage","onPress","item","content","ScrollView","contentContainerStyle","styles","container","style","transformStyle","children","Text","typo","center","View","color","gray","normal","suggestions","map","onPressItem","suggestion_id","light","textAlign","create","flexGrow","justifyContent","alignItems","padding","gap","transform","OS","scale","scaleY"],"sourceRoot":"../../../../src","sources":["components/chat/ChatEmpty.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,SAASC,mBAAmB,QAAQ,gDAA6C;AACjF,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,SAASC,cAAc,QAAQ,uCAAoC;AACnE,OAAOC,QAAQ,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGvC,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAK,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACtC,MAAM;IAAEU;EAAc,CAAC,GAAGR,cAAc,CAAC,CAAC;EAE1C,MAAMS,OAAO,GAAGR,QAAQ,CAAES,IAAqB,IAAK;IAClDF,aAAa,CAACE,IAAI,CAACC,OAAO,CAAC;EAC7B,CAAC,EAAE,GAAG,CAAC;EAEP,oBACEN,KAAA,CAACZ,UAAU,CAACmB,UAAU;IACpBC,qBAAqB,EAAEC,MAAM,CAACC,SAAU;IACxCC,KAAK,EAAEF,MAAM,CAACG,cAAe;IAAAC,QAAA,gBAE7Bf,IAAA,CAACT,MAAM,CAACyB,IAAI;MAACC,IAAI,EAAC,eAAe;MAACC,MAAM;MAAAH,QAAA,EACrC;IAA4B,CAClB,CAAC,eACdb,KAAA,CAACZ,UAAU,CAAC6B,IAAI;MAACD,MAAM;MAAAH,QAAA,gBACrBf,IAAA,CAACT,MAAM,CAACyB,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAE/B,OAAO,CAACgC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChE;MAA8C,CACpC,CAAC,eACdf,IAAA,CAACT,MAAM,CAACyB,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAE/B,OAAO,CAACgC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChE;MAA2B,CACjB,CAAC;IAAA,CACC,CAAC,EACjBX,IAAI,EAAEmB,WAAW,EAAEC,GAAG,CAAEjB,IAAqB,iBAC5CP,IAAA,CAACJ,cAAc;MAEbW,IAAI,EAAEA,IAAK;MACXkB,WAAW,EAAEnB;IAAQ,GAFhBC,IAAI,CAACmB,aAGX,CACF,CAAC,eACF1B,IAAA,CAACT,MAAM,CAACyB,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBG,KAAK,EAAE/B,OAAO,CAACgC,IAAI,CAACM,KAAM;MAC1BC,SAAS,EAAC,QAAQ;MAAAb,QAAA,EAGhB;IAAgG,CAEvF,CAAC;EAAA,CACO,CAAC;AAE5B,CAAC;AAED,eAAeZ,SAAS;AAExB,MAAMQ,MAAM,GAAGlB,UAAU,CAACoC,MAAM,CAAC;EAC/BjB,SAAS,EAAE;IACTkB,QAAQ,EAAE,CAAC;IACXC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAEzC,aAAa,CAAC,SAAS,CAAC;IACjC0C,GAAG,EAAE1C,aAAa,CAAC,QAAQ;EAC7B,CAAC;EACDsB,cAAc,EAAE;IACdqB,SAAS,EAAE,CAACzC,QAAQ,CAAC0C,EAAE,KAAK,SAAS,GAAG;MAAEC,KAAK,EAAE,CAAC;IAAE,CAAC,GAAG;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EACxE;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["KColors","KContainer","KLabel","KSpacingValue","StyleSheet","Platform","useFetchSuggestions","SuggestionItem","useSendMessage","debounce","trans","jsx","_jsx","jsxs","_jsxs","ChatEmpty","data","onSendMessage","onPress","item","content","ScrollView","contentContainerStyle","styles","container","style","transformStyle","children","Text","typo","center","View","color","gray","normal","suggestions","map","onPressItem","suggestion_id","light","textAlign","create","flexGrow","justifyContent","alignItems","padding","gap","transform","OS","scale","scaleY"],"sourceRoot":"../../../../src","sources":["components/chat/ChatEmpty.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,SAASC,mBAAmB,QAAQ,gDAA6C;AACjF,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,SAASC,cAAc,QAAQ,uCAAoC;AACnE,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,KAAK,MAAM,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtC,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAK,CAAC,GAAGV,mBAAmB,CAAC,CAAC;EACtC,MAAM;IAAEW;EAAc,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE1C,MAAMU,OAAO,GAAGT,QAAQ,CAAEU,IAAqB,IAAK;IAClDF,aAAa,CAACE,IAAI,CAACC,OAAO,CAAC;EAC7B,CAAC,EAAE,GAAG,CAAC;EAEP,oBACEN,KAAA,CAACb,UAAU,CAACoB,UAAU;IACpBC,qBAAqB,EAAEC,MAAM,CAACC,SAAU;IACxCC,KAAK,EAAEF,MAAM,CAACG,cAAe;IAAAC,QAAA,gBAE7Bf,IAAA,CAACV,MAAM,CAAC0B,IAAI;MAACC,IAAI,EAAC,eAAe;MAACC,MAAM;MAAAH,QAAA,EACrCjB,KAAK,CAAC,kBAAkB;IAAC,CACf,CAAC,eACdI,KAAA,CAACb,UAAU,CAAC8B,IAAI;MAACD,MAAM;MAAAH,QAAA,gBACrBf,IAAA,CAACV,MAAM,CAAC0B,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAEhC,OAAO,CAACiC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChEjB,KAAK,CAAC,0BAA0B;MAAC,CACvB,CAAC,eACdE,IAAA,CAACV,MAAM,CAAC0B,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAEhC,OAAO,CAACiC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChEjB,KAAK,CAAC,0BAA0B;MAAC,CACvB,CAAC;IAAA,CACC,CAAC,EACjBM,IAAI,EAAEmB,WAAW,EAAEC,GAAG,CAAEjB,IAAqB,iBAC5CP,IAAA,CAACL,cAAc;MAEbY,IAAI,EAAEA,IAAK;MACXkB,WAAW,EAAEnB;IAAQ,GAFhBC,IAAI,CAACmB,aAGX,CACF,CAAC,eACF1B,IAAA,CAACV,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBG,KAAK,EAAEhC,OAAO,CAACiC,IAAI,CAACM,KAAM;MAC1BC,SAAS,EAAC,QAAQ;MAAAb,QAAA,EAEjBjB,KAAK,CAAC,gBAAgB;IAAC,CACb,CAAC;EAAA,CACO,CAAC;AAE5B,CAAC;AAED,eAAeK,SAAS;AAExB,MAAMQ,MAAM,GAAGnB,UAAU,CAACqC,MAAM,CAAC;EAC/BjB,SAAS,EAAE;IACTkB,QAAQ,EAAE,CAAC;IACXC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE1C,aAAa,CAAC,SAAS,CAAC;IACjC2C,GAAG,EAAE3C,aAAa,CAAC,QAAQ;EAC7B,CAAC;EACDuB,cAAc,EAAE;IACdqB,SAAS,EAAE,CAAC1C,QAAQ,CAAC2C,EAAE,KAAK,SAAS,GAAG;MAAEC,KAAK,EAAE,CAAC;IAAE,CAAC,GAAG;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EACxE;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
2
 
3
+ import { useCallback } from 'react';
3
4
  import { KColors, KContainer, KImage, KLabel, KSpacingValue } from '@droppii/libs';
4
5
  import images from "../../assets/images/index.js";
5
6
  import { ImageBackground, StatusBar, StyleSheet } from 'react-native';
6
- import { useCallback } from 'react';
7
7
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
8
8
  import useSessionStore from "../../store/session.js";
9
9
  import { useChatContext } from "../../context/ChatContext.js";
10
+
11
+ // Type assertion to fix TypeScript issue with React Native components
10
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ const StatusBarComponent = StatusBar;
14
+ const ImageBackgroundComponent = ImageBackground;
11
15
  export const ChatHeader = () => {
12
16
  const insets = useSafeAreaInsets();
13
17
  const setSessionId = useSessionStore(state => state.setSessionId);
14
18
  const {
15
- cartButton
19
+ cartButton,
20
+ openDrawer
16
21
  } = useChatContext();
17
22
  const onPressNewSession = () => {
18
23
  setSessionId(undefined);
@@ -21,18 +26,19 @@ export const ChatHeader = () => {
21
26
  return /*#__PURE__*/_jsx(KContainer.View, {
22
27
  height: insets.top,
23
28
  background: "transparent",
24
- children: /*#__PURE__*/_jsx(StatusBar, {
29
+ children: /*#__PURE__*/_jsx(StatusBarComponent, {
25
30
  translucent: true
26
31
  })
27
32
  });
28
33
  }, [insets.top]);
29
- return /*#__PURE__*/_jsxs(ImageBackground, {
34
+ return /*#__PURE__*/_jsxs(ImageBackgroundComponent, {
30
35
  source: images.bg_header,
31
36
  resizeMode: "cover",
32
37
  children: [renderStatusBar(), /*#__PURE__*/_jsxs(KContainer.View, {
33
38
  style: styles.header,
34
39
  children: [/*#__PURE__*/_jsx(KContainer.Touchable, {
35
40
  style: styles.button,
41
+ onPress: openDrawer,
36
42
  children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
37
43
  name: "menu-ai-o",
38
44
  size: 24,
@@ -1 +1 @@
1
- {"version":3,"names":["KColors","KContainer","KImage","KLabel","KSpacingValue","images","ImageBackground","StatusBar","StyleSheet","useCallback","useSafeAreaInsets","useSessionStore","useChatContext","jsx","_jsx","jsxs","_jsxs","ChatHeader","insets","setSessionId","state","cartButton","onPressNewSession","undefined","renderStatusBar","View","height","top","background","children","translucent","source","bg_header","resizeMode","style","styles","header","Touchable","button","VectorIcons","name","size","color","white","Text","flex","typo","onPress","create","paddingHorizontal","paddingVertical","flexDirection","gap","alignItems","width","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","KColors","KContainer","KImage","KLabel","KSpacingValue","images","ImageBackground","StatusBar","StyleSheet","useSafeAreaInsets","useSessionStore","useChatContext","jsx","_jsx","jsxs","_jsxs","StatusBarComponent","ImageBackgroundComponent","ChatHeader","insets","setSessionId","state","cartButton","openDrawer","onPressNewSession","undefined","renderStatusBar","View","height","top","background","children","translucent","source","bg_header","resizeMode","style","styles","header","Touchable","button","onPress","VectorIcons","name","size","color","white","Text","flex","typo","create","paddingHorizontal","paddingVertical","flexDirection","gap","alignItems","width","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,17 +2,18 @@
2
2
 
3
3
  import { FlatList, StyleSheet, DeviceEventEmitter } from 'react-native';
4
4
  import ChatEmpty from "./ChatEmpty.js";
5
- import { useMessage } from "../../hooks/message/useMessage.js";
6
5
  import ChatItem from "./item/index.js";
7
6
  import { KSpacingValue } from '@droppii/libs';
8
7
  import { useCallback, useRef } from 'react';
9
8
  import { useEffect } from 'react';
10
9
  import { events } from "../../constants/events.js";
10
+
11
+ // Type assertion to fix TypeScript issue with React Native components
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const ChatMessageList = () => {
13
- const {
14
- messageState
15
- } = useMessage();
13
+ const FlatListComponent = FlatList;
14
+ const ChatMessageList = ({
15
+ messageList = []
16
+ }) => {
16
17
  const flatListRef = useRef(null);
17
18
  const scrollOffsetRef = useRef(0);
18
19
  const onScroll = useCallback(event => {
@@ -36,9 +37,9 @@ const ChatMessageList = () => {
36
37
  subExpandThinkingStep.remove();
37
38
  };
38
39
  }, []);
39
- return /*#__PURE__*/_jsx(FlatList, {
40
+ return /*#__PURE__*/_jsx(FlatListComponent, {
40
41
  ref: flatListRef,
41
- data: messageState?.messages || [],
42
+ data: messageList,
42
43
  renderItem: ({
43
44
  item,
44
45
  index
@@ -1 +1 @@
1
- {"version":3,"names":["FlatList","StyleSheet","DeviceEventEmitter","ChatEmpty","useMessage","ChatItem","KSpacingValue","useCallback","useRef","useEffect","events","jsx","_jsx","ChatMessageList","messageState","flatListRef","scrollOffsetRef","onScroll","event","current","nativeEvent","contentOffset","y","subExpandThinkingStep","addListener","expandThinkingStep","isExpand","scrollToOffset","offset","animated","setTimeout","error","console","remove","ref","data","messages","renderItem","item","index","keyExtractor","id","contentContainerStyle","styles","container","inverted","ListEmptyComponent","create","flexGrow","gap","paddingVertical","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatMessageList.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,kBAAkB,QAAQ,cAAc;AACvE,OAAOC,SAAS,MAAM,gBAAa;AACnC,SAASC,UAAU,QAAQ,mCAAgC;AAC3D,OAAOC,QAAQ,MAAM,iBAAQ;AAC7B,SAASC,aAAa,QAAQ,eAAe;AAE7C,SAASC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,MAAMC,eAAe,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC;EAAa,CAAC,GAAGV,UAAU,CAAC,CAAC;EAErC,MAAMW,WAAW,GAAGP,MAAM,CAAM,IAAI,CAAC;EACrC,MAAMQ,eAAe,GAAGR,MAAM,CAAC,CAAC,CAAC;EAEjC,MAAMS,QAAQ,GAAGV,WAAW,CAAEW,KAAU,IAAK;IAC3CF,eAAe,CAACG,OAAO,GAAGD,KAAK,EAAEE,WAAW,EAAEC,aAAa,EAAEC,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;EAENb,SAAS,CAAC,MAAM;IACd,MAAMc,qBAAqB,GAAGrB,kBAAkB,CAACsB,WAAW,CAC1Dd,MAAM,CAACe,kBAAkB,EACxBC,QAAiB,IAAK;MACrB,IAAI;QACF,MAAMC,cAAc,GAAGZ,WAAW,CAACI,OAAO,EAAEQ,cAAc,CAAC;UACzDC,MAAM,EAAEZ,eAAe,CAACG,OAAO,IAAIO,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;UACvDG,QAAQ,EAAE;QACZ,CAAC,CAAC;QACFC,UAAU,CAAC,MAAM;UACfH,cAAc,GAAG,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC;MACT,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF,CACF,CAAC;IAED,OAAO,MAAM;MACXR,qBAAqB,CAACU,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACErB,IAAA,CAACZ,QAAQ;IACPkC,GAAG,EAAEnB,WAAY;IACjBoB,IAAI,EAAErB,YAAY,EAAEsB,QAAQ,IAAI,EAAG;IACnCC,UAAU,EAAEA,CAAC;MAAEC,IAAI;MAAEC;IAA6C,CAAC,kBACjE3B,IAAA,CAACP,QAAQ;MAACiC,IAAI,EAAEA,IAAK;MAACC,KAAK,EAAEA;IAAM,CAAE,CACrC;IACFC,YAAY,EAAGF,IAAkB,IAAKA,IAAI,CAACG,EAAG;IAC9CC,qBAAqB,EAAEC,MAAM,CAACC,SAAU;IACxCC,QAAQ;IACRC,kBAAkB,eAAElC,IAAA,CAACT,SAAS,IAAE,CAAE;IAClCc,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAED,eAAeJ,eAAe;AAE9B,MAAM8B,MAAM,GAAG1C,UAAU,CAAC8C,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,CAAC;IACXC,GAAG,EAAE3C,aAAa,CAAC,QAAQ,CAAC;IAC5B4C,eAAe,EAAE5C,aAAa,CAAC,MAAM,CAAC;IACtC6C,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FlatList","StyleSheet","DeviceEventEmitter","ChatEmpty","ChatItem","KSpacingValue","useCallback","useRef","useEffect","events","jsx","_jsx","FlatListComponent","ChatMessageList","messageList","flatListRef","scrollOffsetRef","onScroll","event","current","nativeEvent","contentOffset","y","subExpandThinkingStep","addListener","expandThinkingStep","isExpand","scrollToOffset","offset","animated","setTimeout","error","console","remove","ref","data","renderItem","item","index","keyExtractor","id","contentContainerStyle","styles","container","inverted","ListEmptyComponent","create","flexGrow","gap","paddingVertical","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatMessageList.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,kBAAkB,QAAQ,cAAc;AAEvE,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,QAAQ,MAAM,iBAAQ;AAC7B,SAASC,aAAa,QAAQ,eAAe;AAE7C,SAASC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,2BAAwB;;AAE/C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,iBAAiB,GAAGZ,QAAyC;AAKnE,MAAMa,eAAe,GAAGA,CAAC;EAAEC,WAAW,GAAG;AAA0B,CAAC,KAAK;EACvE,MAAMC,WAAW,GAAGR,MAAM,CAAM,IAAI,CAAC;EACrC,MAAMS,eAAe,GAAGT,MAAM,CAAC,CAAC,CAAC;EAEjC,MAAMU,QAAQ,GAAGX,WAAW,CAAEY,KAAU,IAAK;IAC3CF,eAAe,CAACG,OAAO,GAAGD,KAAK,EAAEE,WAAW,EAAEC,aAAa,EAAEC,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;EAENd,SAAS,CAAC,MAAM;IACd,MAAMe,qBAAqB,GAAGrB,kBAAkB,CAACsB,WAAW,CAC1Df,MAAM,CAACgB,kBAAkB,EACxBC,QAAiB,IAAK;MACrB,IAAI;QACF,MAAMC,cAAc,GAAGZ,WAAW,CAACI,OAAO,EAAEQ,cAAc,CAAC;UACzDC,MAAM,EAAEZ,eAAe,CAACG,OAAO,IAAIO,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;UACvDG,QAAQ,EAAE;QACZ,CAAC,CAAC;QACFC,UAAU,CAAC,MAAM;UACfH,cAAc,GAAG,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC;MACT,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF,CACF,CAAC;IAED,OAAO,MAAM;MACXR,qBAAqB,CAACU,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEtB,IAAA,CAACC,iBAAiB;IAChBsB,GAAG,EAAEnB,WAAY;IACjBoB,IAAI,EAAErB,WAAY;IAClBsB,UAAU,EAAEA,CAAC;MAAEC,IAAI;MAAEC;IAA6C,CAAC,kBACjE3B,IAAA,CAACP,QAAQ;MAACiC,IAAI,EAAEA,IAAK;MAACC,KAAK,EAAEA;IAAM,CAAE,CACrC;IACFC,YAAY,EAAGF,IAAkB,IAAKA,IAAI,CAACG,EAAG;IAC9CC,qBAAqB,EAAEC,MAAM,CAACC,SAAU;IACxCC,QAAQ;IACRC,kBAAkB,eAAElC,IAAA,CAACR,SAAS,IAAE,CAAE;IAClCc,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAED,eAAeJ,eAAe;AAE9B,MAAM6B,MAAM,GAAGzC,UAAU,CAAC6C,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,CAAC;IACXC,GAAG,EAAE3C,aAAa,CAAC,QAAQ,CAAC;IAC5B4C,eAAe,EAAE5C,aAAa,CAAC,MAAM,CAAC;IACtC6C,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}