react-native-chatbot-ai 0.1.19 → 0.1.21

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 (184) hide show
  1. package/lib/module/components/Drawer/DeleteSessionPopup.js +99 -0
  2. package/lib/module/components/Drawer/DeleteSessionPopup.js.map +1 -0
  3. package/lib/module/components/Drawer/DrawerContent.js +4 -3
  4. package/lib/module/components/Drawer/DrawerContent.js.map +1 -1
  5. package/lib/module/components/Drawer/RenameSessionPopup.js +121 -0
  6. package/lib/module/components/Drawer/RenameSessionPopup.js.map +1 -0
  7. package/lib/module/components/Drawer/SessionItem.js +35 -20
  8. package/lib/module/components/Drawer/SessionItem.js.map +1 -1
  9. package/lib/module/components/Drawer/SessionList.js +2 -5
  10. package/lib/module/components/Drawer/SessionList.js.map +1 -1
  11. package/lib/module/components/Drawer/SessionOptionsBottomSheet.js +122 -0
  12. package/lib/module/components/Drawer/SessionOptionsBottomSheet.js.map +1 -0
  13. package/lib/module/components/Drawer/ShareSessionPopup.js +128 -0
  14. package/lib/module/components/Drawer/ShareSessionPopup.js.map +1 -0
  15. package/lib/module/components/chat/ChatMessageList.js +61 -23
  16. package/lib/module/components/chat/ChatMessageList.js.map +1 -1
  17. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +29 -1
  18. package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
  19. package/lib/module/components/chat/item/MessageActionsBar.js +237 -0
  20. package/lib/module/components/chat/item/MessageActionsBar.js.map +1 -0
  21. package/lib/module/components/chat/item/actions/ActionButton.js +56 -0
  22. package/lib/module/components/chat/item/actions/ActionButton.js.map +1 -0
  23. package/lib/module/components/portal/BottomSheet.js +245 -0
  24. package/lib/module/components/portal/BottomSheet.js.map +1 -0
  25. package/lib/module/components/portal/Popup.js +278 -0
  26. package/lib/module/components/portal/Popup.js.map +1 -0
  27. package/lib/module/components/portal/index.js +11 -5
  28. package/lib/module/components/portal/index.js.map +1 -1
  29. package/lib/module/constants/index.js +5 -1
  30. package/lib/module/constants/index.js.map +1 -1
  31. package/lib/module/constants/query.js +5 -1
  32. package/lib/module/constants/query.js.map +1 -1
  33. package/lib/module/context/ChatContext.js +6 -3
  34. package/lib/module/context/ChatContext.js.map +1 -1
  35. package/lib/module/hooks/messageActions/index.js +13 -0
  36. package/lib/module/hooks/messageActions/index.js.map +1 -0
  37. package/lib/module/hooks/messageActions/useAudioPlayer.js +243 -0
  38. package/lib/module/hooks/messageActions/useAudioPlayer.js.map +1 -0
  39. package/lib/module/hooks/messageActions/useCopyToClipboard.js +38 -0
  40. package/lib/module/hooks/messageActions/useCopyToClipboard.js.map +1 -0
  41. package/lib/module/hooks/messageActions/useFeedback.js +85 -0
  42. package/lib/module/hooks/messageActions/useFeedback.js.map +1 -0
  43. package/lib/module/hooks/messageActions/useSendFeedback.js +24 -0
  44. package/lib/module/hooks/messageActions/useSendFeedback.js.map +1 -0
  45. package/lib/module/hooks/messageActions/useShareMessage.js +120 -0
  46. package/lib/module/hooks/messageActions/useShareMessage.js.map +1 -0
  47. package/lib/module/hooks/session/useDeleteSession.js +23 -0
  48. package/lib/module/hooks/session/useDeleteSession.js.map +1 -0
  49. package/lib/module/hooks/session/useRenameSession.js +28 -0
  50. package/lib/module/hooks/session/useRenameSession.js.map +1 -0
  51. package/lib/module/hooks/session/useShareSession.js +16 -0
  52. package/lib/module/hooks/session/useShareSession.js.map +1 -0
  53. package/lib/module/services/endpoints.js +6 -1
  54. package/lib/module/services/endpoints.js.map +1 -1
  55. package/lib/module/services/index.js +1 -0
  56. package/lib/module/services/index.js.map +1 -1
  57. package/lib/module/services/playbackService.js +22 -0
  58. package/lib/module/services/playbackService.js.map +1 -0
  59. package/lib/module/store/audioPlayer.js +75 -0
  60. package/lib/module/store/audioPlayer.js.map +1 -0
  61. package/lib/module/store/messageActions.js +160 -0
  62. package/lib/module/store/messageActions.js.map +1 -0
  63. package/lib/module/translation/resources/vi.js +25 -1
  64. package/lib/module/translation/resources/vi.js.map +1 -1
  65. package/lib/module/types/index.js +1 -0
  66. package/lib/module/types/index.js.map +1 -1
  67. package/lib/module/types/messageActions.js +56 -0
  68. package/lib/module/types/messageActions.js.map +1 -0
  69. package/lib/module/utils/textCleaner.js +67 -0
  70. package/lib/module/utils/textCleaner.js.map +1 -0
  71. package/lib/module/utils/ui.js +27 -1
  72. package/lib/module/utils/ui.js.map +1 -1
  73. package/lib/typescript/src/components/Drawer/DeleteSessionPopup.d.ts +3 -0
  74. package/lib/typescript/src/components/Drawer/DeleteSessionPopup.d.ts.map +1 -0
  75. package/lib/typescript/src/components/Drawer/DrawerContent.d.ts.map +1 -1
  76. package/lib/typescript/src/components/Drawer/RenameSessionPopup.d.ts +3 -0
  77. package/lib/typescript/src/components/Drawer/RenameSessionPopup.d.ts.map +1 -0
  78. package/lib/typescript/src/components/Drawer/SessionItem.d.ts.map +1 -1
  79. package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -1
  80. package/lib/typescript/src/components/Drawer/SessionOptionsBottomSheet.d.ts +3 -0
  81. package/lib/typescript/src/components/Drawer/SessionOptionsBottomSheet.d.ts.map +1 -0
  82. package/lib/typescript/src/components/Drawer/ShareSessionPopup.d.ts +3 -0
  83. package/lib/typescript/src/components/Drawer/ShareSessionPopup.d.ts.map +1 -0
  84. package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
  85. package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
  86. package/lib/typescript/src/components/chat/item/MessageActionsBar.d.ts +16 -0
  87. package/lib/typescript/src/components/chat/item/MessageActionsBar.d.ts.map +1 -0
  88. package/lib/typescript/src/components/chat/item/actions/ActionButton.d.ts +19 -0
  89. package/lib/typescript/src/components/chat/item/actions/ActionButton.d.ts.map +1 -0
  90. package/lib/typescript/src/components/portal/BottomSheet.d.ts +8 -0
  91. package/lib/typescript/src/components/portal/BottomSheet.d.ts.map +1 -0
  92. package/lib/typescript/src/components/portal/Popup.d.ts +4 -0
  93. package/lib/typescript/src/components/portal/Popup.d.ts.map +1 -0
  94. package/lib/typescript/src/components/portal/index.d.ts.map +1 -1
  95. package/lib/typescript/src/constants/index.d.ts +5 -1
  96. package/lib/typescript/src/constants/index.d.ts.map +1 -1
  97. package/lib/typescript/src/constants/query.d.ts +4 -0
  98. package/lib/typescript/src/constants/query.d.ts.map +1 -1
  99. package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
  100. package/lib/typescript/src/hooks/messageActions/index.d.ts +10 -0
  101. package/lib/typescript/src/hooks/messageActions/index.d.ts.map +1 -0
  102. package/lib/typescript/src/hooks/messageActions/useAudioPlayer.d.ts +14 -0
  103. package/lib/typescript/src/hooks/messageActions/useAudioPlayer.d.ts.map +1 -0
  104. package/lib/typescript/src/hooks/messageActions/useCopyToClipboard.d.ts +9 -0
  105. package/lib/typescript/src/hooks/messageActions/useCopyToClipboard.d.ts.map +1 -0
  106. package/lib/typescript/src/hooks/messageActions/useFeedback.d.ts +18 -0
  107. package/lib/typescript/src/hooks/messageActions/useFeedback.d.ts.map +1 -0
  108. package/lib/typescript/src/hooks/messageActions/useSendFeedback.d.ts +6 -0
  109. package/lib/typescript/src/hooks/messageActions/useSendFeedback.d.ts.map +1 -0
  110. package/lib/typescript/src/hooks/messageActions/useShareMessage.d.ts +12 -0
  111. package/lib/typescript/src/hooks/messageActions/useShareMessage.d.ts.map +1 -0
  112. package/lib/typescript/src/hooks/session/useDeleteSession.d.ts +2 -0
  113. package/lib/typescript/src/hooks/session/useDeleteSession.d.ts.map +1 -0
  114. package/lib/typescript/src/hooks/session/useRenameSession.d.ts +2 -0
  115. package/lib/typescript/src/hooks/session/useRenameSession.d.ts.map +1 -0
  116. package/lib/typescript/src/hooks/session/useShareSession.d.ts +2 -0
  117. package/lib/typescript/src/hooks/session/useShareSession.d.ts.map +1 -0
  118. package/lib/typescript/src/services/endpoints.d.ts +5 -0
  119. package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
  120. package/lib/typescript/src/services/index.d.ts +1 -0
  121. package/lib/typescript/src/services/index.d.ts.map +1 -1
  122. package/lib/typescript/src/services/playbackService.d.ts +2 -0
  123. package/lib/typescript/src/services/playbackService.d.ts.map +1 -0
  124. package/lib/typescript/src/store/audioPlayer.d.ts +27 -0
  125. package/lib/typescript/src/store/audioPlayer.d.ts.map +1 -0
  126. package/lib/typescript/src/store/messageActions.d.ts +9 -0
  127. package/lib/typescript/src/store/messageActions.d.ts.map +1 -0
  128. package/lib/typescript/src/translation/resources/vi.d.ts +20 -0
  129. package/lib/typescript/src/translation/resources/vi.d.ts.map +1 -1
  130. package/lib/typescript/src/types/chat.d.ts +2 -0
  131. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  132. package/lib/typescript/src/types/dto.d.ts +11 -0
  133. package/lib/typescript/src/types/dto.d.ts.map +1 -1
  134. package/lib/typescript/src/types/index.d.ts +1 -0
  135. package/lib/typescript/src/types/index.d.ts.map +1 -1
  136. package/lib/typescript/src/types/messageActions.d.ts +85 -0
  137. package/lib/typescript/src/types/messageActions.d.ts.map +1 -0
  138. package/lib/typescript/src/types/ui.d.ts +16 -1
  139. package/lib/typescript/src/types/ui.d.ts.map +1 -1
  140. package/lib/typescript/src/utils/textCleaner.d.ts +30 -0
  141. package/lib/typescript/src/utils/textCleaner.d.ts.map +1 -0
  142. package/lib/typescript/src/utils/ui.d.ts +12 -1
  143. package/lib/typescript/src/utils/ui.d.ts.map +1 -1
  144. package/package.json +5 -2
  145. package/src/components/Drawer/DeleteSessionPopup.tsx +104 -0
  146. package/src/components/Drawer/DrawerContent.tsx +3 -2
  147. package/src/components/Drawer/RenameSessionPopup.tsx +145 -0
  148. package/src/components/Drawer/SessionItem.tsx +22 -8
  149. package/src/components/Drawer/SessionList.tsx +0 -2
  150. package/src/components/Drawer/SessionOptionsBottomSheet.tsx +130 -0
  151. package/src/components/Drawer/ShareSessionPopup.tsx +142 -0
  152. package/src/components/chat/ChatMessageList.tsx +62 -17
  153. package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +38 -0
  154. package/src/components/chat/item/MessageActionsBar.tsx +320 -0
  155. package/src/components/chat/item/actions/ActionButton.tsx +66 -0
  156. package/src/components/portal/BottomSheet.tsx +307 -0
  157. package/src/components/portal/Popup.tsx +345 -0
  158. package/src/components/portal/index.tsx +5 -1
  159. package/src/constants/index.ts +6 -1
  160. package/src/constants/query.ts +4 -0
  161. package/src/context/ChatContext.tsx +3 -0
  162. package/src/hooks/messageActions/index.ts +10 -0
  163. package/src/hooks/messageActions/useAudioPlayer.ts +317 -0
  164. package/src/hooks/messageActions/useCopyToClipboard.ts +39 -0
  165. package/src/hooks/messageActions/useFeedback.ts +105 -0
  166. package/src/hooks/messageActions/useSendFeedback.ts +31 -0
  167. package/src/hooks/messageActions/useShareMessage.ts +138 -0
  168. package/src/hooks/session/useDeleteSession.ts +25 -0
  169. package/src/hooks/session/useRenameSession.ts +37 -0
  170. package/src/hooks/session/useShareSession.ts +22 -0
  171. package/src/ignore.d.ts +20 -1
  172. package/src/services/endpoints.ts +10 -0
  173. package/src/services/index.ts +1 -0
  174. package/src/services/playbackService.ts +22 -0
  175. package/src/store/audioPlayer.ts +112 -0
  176. package/src/store/messageActions.ts +161 -0
  177. package/src/translation/resources/vi.ts +31 -0
  178. package/src/types/chat.ts +2 -0
  179. package/src/types/dto.ts +14 -0
  180. package/src/types/index.ts +1 -0
  181. package/src/types/messageActions.ts +131 -0
  182. package/src/types/ui.ts +19 -1
  183. package/src/utils/textCleaner.ts +66 -0
  184. package/src/utils/ui.tsx +29 -2
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ import { useCallback } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
6
+ import { useDeleteSession } from "../../hooks/session/useDeleteSession.js";
7
+ import UIUtils from "../../utils/ui.js";
8
+ import trans from "../../translation/index.js";
9
+ import useSessionStore from "../../store/session.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const truncateText = (text, maxLength) => {
12
+ if (text.length <= maxLength) return text;
13
+ return text.substring(0, maxLength) + '…';
14
+ };
15
+ const DeleteContent = ({
16
+ session,
17
+ onConfirmRef
18
+ }) => {
19
+ const {
20
+ mutateAsync: deleteSession
21
+ } = useDeleteSession();
22
+ const currentSessionId = useSessionStore(state => state.sessionId);
23
+ const setSessionId = useSessionStore(state => state.setSessionId);
24
+
25
+ // Expose handleConfirm via ref
26
+ onConfirmRef.current = useCallback(async () => {
27
+ try {
28
+ await deleteSession(session.id);
29
+
30
+ // If the deleted session is the current active session, clear it
31
+ if (currentSessionId === session.id) {
32
+ setSessionId(undefined);
33
+ }
34
+ UIUtils.toast.showSuccess(trans('chatbot:delete_session_success'));
35
+ UIUtils.popup.dismiss();
36
+ } catch (err) {
37
+ UIUtils.toast.showError(err);
38
+ }
39
+ }, [session.id, currentSessionId, deleteSession, setSessionId]);
40
+ const truncatedName = truncateText(session.title, 50);
41
+ const descriptionTemplate = trans('chatbot:delete_session_description');
42
+ const parts = descriptionTemplate.split('{sessionName}');
43
+ return (
44
+ /*#__PURE__*/
45
+ // @ts-ignore
46
+ _jsx(KContainer.View, {
47
+ style: styles.container,
48
+ children: /*#__PURE__*/_jsxs(KLabel.Text, {
49
+ typo: "TextMdNormal",
50
+ color: KColors.gray.dark,
51
+ children: [parts[0], /*#__PURE__*/_jsx(KLabel.Text, {
52
+ typo: "TextMdBold",
53
+ color: KColors.gray.dark,
54
+ children: truncatedName
55
+ }), parts[1]]
56
+ })
57
+ })
58
+ );
59
+ };
60
+ export const openDeleteSessionPopup = session => {
61
+ const onConfirmRef = {
62
+ current: null
63
+ };
64
+ UIUtils.popup.open({
65
+ header: {
66
+ title: {
67
+ text: trans('chatbot:delete_session_title')
68
+ },
69
+ showCloseButton: false
70
+ },
71
+ body: {
72
+ scrollable: false,
73
+ renderContent: () => /*#__PURE__*/_jsx(DeleteContent, {
74
+ session: session,
75
+ onConfirmRef: onConfirmRef
76
+ })
77
+ },
78
+ actions: {
79
+ type: 'horizontal-button',
80
+ buttons: [{
81
+ kind: 'light',
82
+ label: trans('chatbot:delete_session_cancel'),
83
+ weight: 'medium',
84
+ onPress: () => UIUtils.popup.dismiss()
85
+ }, {
86
+ kind: 'danger',
87
+ label: trans('chatbot:delete_session_confirm'),
88
+ weight: 'medium',
89
+ onPress: () => onConfirmRef.current?.()
90
+ }]
91
+ }
92
+ });
93
+ };
94
+ const styles = StyleSheet.create({
95
+ container: {
96
+ padding: KSpacingValue['1rem']
97
+ }
98
+ });
99
+ //# sourceMappingURL=DeleteSessionPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","useDeleteSession","UIUtils","trans","useSessionStore","jsx","_jsx","jsxs","_jsxs","truncateText","text","maxLength","length","substring","DeleteContent","session","onConfirmRef","mutateAsync","deleteSession","currentSessionId","state","sessionId","setSessionId","current","id","undefined","toast","showSuccess","popup","dismiss","err","showError","truncatedName","title","descriptionTemplate","parts","split","View","style","styles","container","children","Text","typo","color","gray","dark","openDeleteSessionPopup","open","header","showCloseButton","body","scrollable","renderContent","actions","type","buttons","kind","label","weight","onPress","create","padding"],"sourceRoot":"../../../../src","sources":["components/Drawer/DeleteSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { useCallback, useMemo, useState, useEffect, useRef } from 'react';
4
- import { StyleSheet } from 'react-native';
5
- import { KContainer } from '@droppii/libs';
4
+ import { StyleSheet, Platform } from 'react-native';
5
+ import { KContainer, KSpacingValue } from '@droppii/libs';
6
6
  import debounce from 'lodash/debounce';
7
7
  import useSessionStore from "../../store/session.js";
8
8
  import { useChatContext } from "../../context/ChatContext.js";
@@ -78,7 +78,8 @@ const DrawerContent = () => {
78
78
  const styles = StyleSheet.create({
79
79
  drawerContainer: {
80
80
  flex: 1,
81
- backgroundColor: 'white'
81
+ backgroundColor: 'white',
82
+ paddingTop: Platform.OS === 'android' ? KSpacingValue['2rem'] : 0
82
83
  }
83
84
  });
84
85
  export default DrawerContent;
@@ -1 +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":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useState","useEffect","useRef","StyleSheet","Platform","KContainer","KSpacingValue","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","paddingTop","OS"],"sourceRoot":"../../../../src","sources":["components/Drawer/DrawerContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ import { useState, useCallback } from 'react';
4
+ import { useRenameSession } from "../../hooks/session/useRenameSession.js";
5
+ import UIUtils from "../../utils/ui.js";
6
+ import trans from "../../translation/index.js";
7
+ import { StyleSheet, Keyboard } from 'react-native';
8
+ import { KButton, KColors, KContainer, KInput, KLabel, KSpacingValue } from '@droppii/libs';
9
+ import { useChatContext } from "../../context/ChatContext.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const MAX_LENGTH = 250;
12
+ const MIN_LENGTH = 1;
13
+ const RenameSessionPopup = ({
14
+ session
15
+ }) => {
16
+ const [value, setValue] = useState(session.title);
17
+ const [confirmDisabled, setConfirmDisabled] = useState(true);
18
+ const {
19
+ mutateAsync: renameSession
20
+ } = useRenameSession();
21
+ const {
22
+ openDrawer
23
+ } = useChatContext();
24
+ const onChangeText = useCallback(text => {
25
+ const newText = text.slice(0, MAX_LENGTH);
26
+ setValue(newText);
27
+ const disabled = newText.trim().length < MIN_LENGTH || newText.length > MAX_LENGTH || newText.trim() === session.title.trim();
28
+ setConfirmDisabled(disabled);
29
+ }, [session.title]);
30
+ const onClear = useCallback(() => {
31
+ setValue('');
32
+ setConfirmDisabled(true);
33
+ }, []);
34
+ const handleConfirm = useCallback(async () => {
35
+ const trimmed = value.trim();
36
+ if (confirmDisabled || !trimmed || trimmed.length < MIN_LENGTH || trimmed.length > MAX_LENGTH || trimmed === session.title.trim()) {
37
+ return;
38
+ }
39
+ try {
40
+ await renameSession({
41
+ sessionId: session.id,
42
+ title: trimmed
43
+ });
44
+ Keyboard.dismiss();
45
+ UIUtils.toast.showSuccess(trans('chatbot:rename_session_success'));
46
+ UIUtils.popup.dismiss();
47
+ setTimeout(() => {
48
+ openDrawer();
49
+ }, 500);
50
+ } catch (err) {
51
+ UIUtils.toast.showError(err);
52
+ }
53
+ }, [confirmDisabled, value, session, renameSession, openDrawer]);
54
+ return /*#__PURE__*/_jsxs(KContainer.View, {
55
+ children: [/*#__PURE__*/_jsxs(KContainer.View, {
56
+ style: [styles.searchInputWrapper],
57
+ children: [/*#__PURE__*/_jsx(KInput.TextBox, {
58
+ placeholder: trans('chatbot:rename_session_placeholder'),
59
+ value: value,
60
+ onChangeText: onChangeText,
61
+ onClear: onClear,
62
+ border: "entire",
63
+ radius: "borderless",
64
+ withBorder: true,
65
+ height: 160,
66
+ maxLength: MAX_LENGTH,
67
+ paddingV: "0.5rem",
68
+ multiline: true,
69
+ textAlignVertical: "top"
70
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
71
+ color: KColors.gray.light,
72
+ children: value.trim().length === 0 ? `Tối đa ${MAX_LENGTH} ký tự` : `Còn ${MAX_LENGTH - value.length}/${MAX_LENGTH} ký tự`
73
+ })]
74
+ }), /*#__PURE__*/_jsx(KContainer.View, {
75
+ style: styles.divider
76
+ }), /*#__PURE__*/_jsx(KContainer.View, {
77
+ style: styles.buttonConfirm,
78
+ children: /*#__PURE__*/_jsx(KButton.Solid, {
79
+ label: trans('rename_session_confirm'),
80
+ stretch: true,
81
+ size: "lg",
82
+ marginT: "1rem",
83
+ disabled: confirmDisabled,
84
+ onPress: handleConfirm
85
+ })
86
+ })]
87
+ });
88
+ };
89
+ export const openRenameSessionPopup = session => {
90
+ UIUtils.popup.open({
91
+ header: {
92
+ title: {
93
+ text: trans('chatbot:rename_session_title')
94
+ },
95
+ showCloseButton: true,
96
+ alignment: 'left'
97
+ },
98
+ body: {
99
+ scrollable: false,
100
+ renderContent: () => /*#__PURE__*/_jsx(RenameSessionPopup, {
101
+ session: session
102
+ })
103
+ }
104
+ });
105
+ };
106
+ const styles = StyleSheet.create({
107
+ searchInputWrapper: {
108
+ marginHorizontal: KSpacingValue['1rem'],
109
+ marginBottom: KSpacingValue['0.75rem'],
110
+ paddingTop: KSpacingValue['0.25rem']
111
+ },
112
+ divider: {
113
+ height: 1,
114
+ backgroundColor: KColors.border.light
115
+ },
116
+ buttonConfirm: {
117
+ padding: KSpacingValue['1rem'],
118
+ paddingTop: 0
119
+ }
120
+ });
121
+ //# sourceMappingURL=RenameSessionPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useCallback","useRenameSession","UIUtils","trans","StyleSheet","Keyboard","KButton","KColors","KContainer","KInput","KLabel","KSpacingValue","useChatContext","jsx","_jsx","jsxs","_jsxs","MAX_LENGTH","MIN_LENGTH","RenameSessionPopup","session","value","setValue","title","confirmDisabled","setConfirmDisabled","mutateAsync","renameSession","openDrawer","onChangeText","text","newText","slice","disabled","trim","length","onClear","handleConfirm","trimmed","sessionId","id","dismiss","toast","showSuccess","popup","setTimeout","err","showError","View","children","style","styles","searchInputWrapper","TextBox","placeholder","border","radius","withBorder","height","maxLength","paddingV","multiline","textAlignVertical","Text","color","gray","light","divider","buttonConfirm","Solid","label","stretch","size","marginT","onPress","openRenameSessionPopup","open","header","showCloseButton","alignment","body","scrollable","renderContent","create","marginHorizontal","marginBottom","paddingTop","backgroundColor","padding"],"sourceRoot":"../../../../src","sources":["components/Drawer/RenameSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,32 +1,47 @@
1
1
  "use strict";
2
2
 
3
- import { memo } from 'react';
3
+ import { memo, useCallback } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
5
  import { KContainer, KLabel, KColors, KSpacingValue, KImage } from '@droppii/libs';
6
+ import { openSessionOptionsBottomSheet } from "./SessionOptionsBottomSheet.js";
7
+ import { useChatContext } from "../../context/ChatContext.js";
6
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
9
  const SessionItem = /*#__PURE__*/memo(({
8
10
  item,
9
11
  isActive,
10
12
  onPress
11
13
  }) => {
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
- });
14
+ const {
15
+ closeDrawer
16
+ } = useChatContext();
17
+ const handlePressOptions = useCallback(() => {
18
+ openSessionOptionsBottomSheet(item, closeDrawer);
19
+ }, [item, closeDrawer]);
20
+ return (
21
+ /*#__PURE__*/
22
+ // @ts-ignore
23
+ _jsxs(KContainer.View, {
24
+ style: [styles.sessionItem, isActive && styles.sessionItemActive],
25
+ children: [/*#__PURE__*/_jsx(KContainer.Touchable, {
26
+ style: styles.sessionItemTouchable,
27
+ onPress: () => onPress(item),
28
+ children: /*#__PURE__*/_jsx(KLabel.Text, {
29
+ typo: "TextMdNormal",
30
+ color: KColors.gray.dark,
31
+ numberOfLines: 1,
32
+ children: item.title
33
+ })
34
+ }), /*#__PURE__*/_jsx(KContainer.Touchable, {
35
+ onPress: handlePressOptions,
36
+ children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
37
+ name: "more-horizontal-b",
38
+ size: 20,
39
+ color: KColors.gray.dark,
40
+ style: styles.menuIcon
41
+ })
42
+ })]
43
+ })
44
+ );
30
45
  });
31
46
  SessionItem.displayName = 'SessionItem';
32
47
  const styles = StyleSheet.create({
@@ -40,7 +55,7 @@ const styles = StyleSheet.create({
40
55
  // marginVertical: KSpacingValue['0.25rem'],
41
56
  },
42
57
  sessionItemActive: {
43
- backgroundColor: KColors.primary.lightest
58
+ backgroundColor: KColors.hexToRgba(KColors.primary.normal, 0.1)
44
59
  },
45
60
  sessionItemTouchable: {
46
61
  flex: 1
@@ -1 +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":[]}
1
+ {"version":3,"names":["memo","useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","openSessionOptionsBottomSheet","useChatContext","jsx","_jsx","jsxs","_jsxs","SessionItem","item","isActive","onPress","closeDrawer","handlePressOptions","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","hexToRgba","primary","normal","flex","marginLeft"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionItem.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,MAAM,QACD,eAAe;AAEtB,SAASC,6BAA6B,QAAQ,gCAA6B;AAC3E,SAASC,cAAc,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ3D,MAAMC,WAAW,gBAAGd,IAAI,CAAmB,CAAC;EAAEe,IAAI;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,KAAK;EAC1E,MAAM;IAAEC;EAAY,CAAC,GAAGT,cAAc,CAAC,CAAC;EAExC,MAAMU,kBAAkB,GAAGlB,WAAW,CAAC,MAAM;IAC3CO,6BAA6B,CAACO,IAAI,EAAEG,WAAW,CAAC;EAClD,CAAC,EAAE,CAACH,IAAI,EAAEG,WAAW,CAAC,CAAC;EAEvB;IAAA;IACE;IACAL,KAAA,CAACV,UAAU,CAACiB,IAAI;MACdC,KAAK,EAAE,CAACC,MAAM,CAACC,WAAW,EAAEP,QAAQ,IAAIM,MAAM,CAACE,iBAAiB,CAAE;MAAAC,QAAA,gBAGlEd,IAAA,CAACR,UAAU,CAACuB,SAAS;QACnBL,KAAK,EAAEC,MAAM,CAACK,oBAAqB;QACnCV,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACF,IAAI,CAAE;QAAAU,QAAA,eAG7Bd,IAAA,CAACP,MAAM,CAACwB,IAAI;UACVC,IAAI,EAAC,cAAc;UACnBC,KAAK,EAAEzB,OAAO,CAAC0B,IAAI,CAACC,IAAK;UACzBC,aAAa,EAAE,CAAE;UAAAR,QAAA,EAEhBV,IAAI,CAACmB;QAAK,CACA;MAAC,CACM,CAAC,eAEvBvB,IAAA,CAACR,UAAU,CAACuB,SAAS;QAACT,OAAO,EAAEE,kBAAmB;QAAAM,QAAA,eAChDd,IAAA,CAACJ,MAAM,CAAC4B,WAAW;UACjBC,IAAI,EAAC,mBAAmB;UACxBC,IAAI,EAAE,EAAG;UACTP,KAAK,EAAEzB,OAAO,CAAC0B,IAAI,CAACC,IAAK;UACzBX,KAAK,EAAEC,MAAM,CAACgB;QAAS,CACxB;MAAC,CACkB,CAAC;IAAA,CACR;EAAC;AAEtB,CAAC,CAAC;AAEFxB,WAAW,CAACyB,WAAW,GAAG,aAAa;AAEvC,MAAMjB,MAAM,GAAGpB,UAAU,CAACsC,MAAM,CAAC;EAC/BjB,WAAW,EAAE;IACXkB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACV;IACA;IACAC,YAAY,EAAEtC,aAAa,CAAC,QAAQ;IACpC;EACF,CAAC;EACDkB,iBAAiB,EAAE;IACjBqB,eAAe,EAAExC,OAAO,CAACyC,SAAS,CAACzC,OAAO,CAAC0C,OAAO,CAACC,MAAM,EAAE,GAAG;EAChE,CAAC;EACDrB,oBAAoB,EAAE;IACpBsB,IAAI,EAAE;EACR,CAAC;EACDX,QAAQ,EAAE;IACRY,UAAU,EAAE5C,aAAa,CAAC,QAAQ;EACpC;AACF,CAAC,CAAC;AAEF,eAAeQ,WAAW","ignoreList":[]}
@@ -28,15 +28,12 @@ const SessionList = /*#__PURE__*/memo(({
28
28
  onPress: onPressSession
29
29
  }), [onPressSession]);
30
30
  const keyExtractor = useCallback(item => item.id, []);
31
- return /*#__PURE__*/ /* @ts-expect-error - FlashList type issue */_jsx(FlashList, {
31
+ return /*#__PURE__*/_jsx(FlashList, {
32
32
  data: sessions,
33
33
  renderItem: renderItem,
34
34
  keyExtractor: keyExtractor,
35
35
  contentContainerStyle: styles.listContainer,
36
- refreshControl:
37
- /*#__PURE__*/
38
- /* @ts-expect-error - React Native RefreshControl type issue */
39
- _jsx(RefreshControl, {
36
+ refreshControl: /*#__PURE__*/_jsx(RefreshControl, {
40
37
  refreshing: isRefetching,
41
38
  onRefresh: onRefresh
42
39
  }),
@@ -1 +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,qBACE,6CACAlB,IAAA,CAACN,SAAS;IACRyB,IAAI,EAAEd,QAAS;IACfQ,UAAU,EAAEA,UAAW;IACvBI,YAAY,EAAEA,YAAa;IAC3BG,qBAAqB,EAAEC,MAAM,CAACC,aAAc;IAC5CC,cAAc;IAAA;IACZ;IACAvB,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":[]}
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,122 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { KContainer, KLabel, KColors, KSpacingValue, KImage } from '@droppii/libs';
5
+ import UIUtils from "../../utils/ui.js";
6
+ import trans from "../../translation/index.js";
7
+ import { openRenameSessionPopup } from "./RenameSessionPopup.js";
8
+ import { openShareSessionPopup } from "./ShareSessionPopup.js";
9
+ import { openDeleteSessionPopup } from "./DeleteSessionPopup.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const OptionItem = ({
12
+ icon,
13
+ label,
14
+ onPress,
15
+ isDanger
16
+ }) => {
17
+ const color = isDanger ? KColors.danger.normal : KColors.gray.dark;
18
+ return (
19
+ /*#__PURE__*/
20
+ // @ts-ignore
21
+ _jsxs(KContainer.Touchable, {
22
+ onPress: onPress,
23
+ style: styles.optionItem,
24
+ children: [/*#__PURE__*/_jsx(KImage.VectorIcons, {
25
+ name: icon,
26
+ size: 20,
27
+ color: color
28
+ }), /*#__PURE__*/_jsx(KLabel.Text, {
29
+ typo: "TextMdMedium",
30
+ color: color,
31
+ style: styles.optionLabel,
32
+ children: label
33
+ })]
34
+ })
35
+ );
36
+ };
37
+ export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
38
+ const handleRename = () => {
39
+ UIUtils.bottomSheet.dismiss();
40
+ // Close drawer first, then open popup
41
+ closeDrawer?.();
42
+ setTimeout(() => {
43
+ openRenameSessionPopup(session);
44
+ }, 300);
45
+ };
46
+ const handleShare = () => {
47
+ UIUtils.bottomSheet.dismiss();
48
+ // Close drawer first, then open popup
49
+ closeDrawer?.();
50
+ setTimeout(() => {
51
+ openShareSessionPopup(session);
52
+ }, 300);
53
+ };
54
+ const handleDelete = () => {
55
+ UIUtils.bottomSheet.dismiss();
56
+ // Close drawer first, then open popup
57
+ closeDrawer?.();
58
+ setTimeout(() => {
59
+ openDeleteSessionPopup(session);
60
+ }, 300);
61
+ };
62
+ const OptionsContent = () => {
63
+ return (
64
+ /*#__PURE__*/
65
+ // @ts-ignore
66
+ _jsxs(KContainer.View, {
67
+ style: styles.container,
68
+ children: [/*#__PURE__*/_jsx(OptionItem, {
69
+ icon: "edit-o",
70
+ label: trans('chatbot:session_rename'),
71
+ onPress: handleRename
72
+ }), /*#__PURE__*/_jsx(KContainer.View, {
73
+ style: styles.divider
74
+ }), /*#__PURE__*/_jsx(OptionItem, {
75
+ icon: "share-o",
76
+ label: trans('chatbot:session_share'),
77
+ onPress: handleShare
78
+ }), /*#__PURE__*/_jsx(KContainer.View, {
79
+ style: styles.divider
80
+ }), /*#__PURE__*/_jsx(OptionItem, {
81
+ icon: "trash-alt-o-1",
82
+ label: trans('chatbot:session_delete'),
83
+ onPress: handleDelete,
84
+ isDanger: true
85
+ })]
86
+ })
87
+ );
88
+ };
89
+ UIUtils.bottomSheet.open({
90
+ header: {
91
+ title: {
92
+ text: trans('chatbot:session_options_title')
93
+ },
94
+ showCloseButton: true
95
+ },
96
+ body: {
97
+ renderContent: () => /*#__PURE__*/_jsx(OptionsContent, {})
98
+ },
99
+ touchOutsideToDismiss: true
100
+ });
101
+ };
102
+ const styles = StyleSheet.create({
103
+ container: {
104
+ paddingHorizontal: KSpacingValue['1rem'],
105
+ paddingVertical: KSpacingValue['0.5rem']
106
+ },
107
+ optionItem: {
108
+ flexDirection: 'row',
109
+ alignItems: 'center',
110
+ paddingVertical: KSpacingValue['1rem'],
111
+ paddingHorizontal: KSpacingValue['0.5rem']
112
+ },
113
+ optionLabel: {
114
+ marginLeft: KSpacingValue['0.75rem']
115
+ },
116
+ divider: {
117
+ height: 1,
118
+ backgroundColor: KColors.border.light,
119
+ marginHorizontal: KSpacingValue['0.5rem']
120
+ }
121
+ });
122
+ //# sourceMappingURL=SessionOptionsBottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","UIUtils","trans","openRenameSessionPopup","openShareSessionPopup","openDeleteSessionPopup","jsx","_jsx","jsxs","_jsxs","OptionItem","icon","label","onPress","isDanger","color","danger","normal","gray","dark","Touchable","style","styles","optionItem","children","VectorIcons","name","size","Text","typo","optionLabel","openSessionOptionsBottomSheet","session","closeDrawer","handleRename","bottomSheet","dismiss","setTimeout","handleShare","handleDelete","OptionsContent","View","container","divider","open","header","title","text","showCloseButton","body","renderContent","touchOutsideToDismiss","create","paddingHorizontal","paddingVertical","flexDirection","alignItems","marginLeft","height","backgroundColor","border","light","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionOptionsBottomSheet.tsx"],"mappings":"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","ignoreList":[]}