react-native-chatbot-ai 0.1.26 → 0.1.28
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/DeleteSessionPopup.js +3 -1
- package/lib/module/components/Drawer/DeleteSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/RenameSessionPopup.js +3 -1
- package/lib/module/components/Drawer/RenameSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/ShareSessionPopup.js +3 -1
- package/lib/module/components/Drawer/ShareSessionPopup.js.map +1 -1
- package/lib/module/components/chat/footer/SuggestionsBar.js +208 -0
- package/lib/module/components/chat/footer/SuggestionsBar.js.map +1 -0
- package/lib/module/components/chat/footer/index.js +89 -153
- package/lib/module/components/chat/footer/index.js.map +1 -1
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +22 -7
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
- package/lib/module/components/product/CardHorizontal.js +30 -9
- package/lib/module/components/product/CardHorizontal.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +0 -2
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/message/useStreamMessage.js +6 -19
- package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
- package/lib/module/hooks/messageActions/useCopyToClipboard.js +3 -1
- package/lib/module/hooks/messageActions/useCopyToClipboard.js.map +1 -1
- package/lib/module/hooks/messageActions/useFeedback.js +3 -1
- package/lib/module/hooks/messageActions/useFeedback.js.map +1 -1
- package/lib/module/hooks/product/useSearchProduct.js +8 -5
- package/lib/module/hooks/product/useSearchProduct.js.map +1 -1
- package/lib/module/store/products.js +13 -4
- package/lib/module/store/products.js.map +1 -1
- package/lib/module/store/streamMessage.js +18 -0
- package/lib/module/store/streamMessage.js.map +1 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/typescript/src/components/chat/footer/SuggestionsBar.d.ts +10 -0
- package/lib/typescript/src/components/chat/footer/SuggestionsBar.d.ts.map +1 -0
- package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/product/CardHorizontal.d.ts +2 -2
- package/lib/typescript/src/components/product/CardHorizontal.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +0 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useStreamMessage.d.ts +0 -1
- package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/product/useSearchProduct.d.ts.map +1 -1
- package/lib/typescript/src/store/products.d.ts.map +1 -1
- package/lib/typescript/src/store/streamMessage.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +5 -1
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/components/Drawer/DeleteSessionPopup.tsx +1 -1
- package/src/components/Drawer/RenameSessionPopup.tsx +1 -1
- package/src/components/Drawer/ShareSessionPopup.tsx +1 -1
- package/src/components/chat/footer/SuggestionsBar.tsx +247 -0
- package/src/components/chat/footer/index.tsx +90 -168
- package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +38 -7
- package/src/components/product/CardHorizontal.tsx +333 -305
- package/src/hooks/message/useSendMessage.ts +1 -2
- package/src/hooks/message/useStreamMessage.ts +7 -22
- package/src/hooks/messageActions/useCopyToClipboard.ts +1 -1
- package/src/hooks/messageActions/useFeedback.ts +1 -1
- package/src/hooks/product/useSearchProduct.ts +10 -3
- package/src/store/products.ts +8 -2
- package/src/store/streamMessage.ts +13 -0
- package/src/types/chat.ts +5 -1
|
@@ -33,7 +33,9 @@ const DeleteContent = ({
|
|
|
33
33
|
if (currentSessionId === session.id) {
|
|
34
34
|
setSessionId(undefined, SessionLogType.newChatBtn);
|
|
35
35
|
}
|
|
36
|
-
UIUtils.toast.
|
|
36
|
+
UIUtils.toast.open({
|
|
37
|
+
title: trans('delete_session_success')
|
|
38
|
+
});
|
|
37
39
|
UIUtils.popup.dismiss();
|
|
38
40
|
} catch (err) {
|
|
39
41
|
UIUtils.toast.showError(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","useDeleteSession","UIUtils","trans","useSessionStore","SessionLogType","GAEvents","jsx","_jsx","jsxs","_jsxs","truncateText","text","maxLength","length","substring","DeleteContent","session","onConfirmRef","mutateAsync","deleteSession","currentSessionId","state","sessionId","setSessionId","current","id","undefined","newChatBtn","toast","
|
|
1
|
+
{"version":3,"names":["useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","useDeleteSession","UIUtils","trans","useSessionStore","SessionLogType","GAEvents","jsx","_jsx","jsxs","_jsxs","truncateText","text","maxLength","length","substring","DeleteContent","session","onConfirmRef","mutateAsync","deleteSession","currentSessionId","state","sessionId","setSessionId","current","id","undefined","newChatBtn","toast","open","title","popup","dismiss","err","showError","truncatedName","descriptionTemplate","parts","split","View","style","styles","container","children","Text","typo","color","gray","dark","openDeleteSessionPopup","logGA","header","showCloseButton","body","scrollable","renderContent","actions","type","buttons","kind","label","weight","onPress","deleteChatModalDeleteBtnTap","conversation_id","button","create","padding"],"sourceRoot":"../../../../src","sources":["components/Drawer/DeleteSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,7 +49,9 @@ const RenameSessionPopup = ({
|
|
|
49
49
|
title: normalized
|
|
50
50
|
});
|
|
51
51
|
Keyboard.dismiss();
|
|
52
|
-
UIUtils.toast.
|
|
52
|
+
UIUtils.toast.open({
|
|
53
|
+
title: trans('rename_session_success')
|
|
54
|
+
});
|
|
53
55
|
UIUtils.popup.dismiss();
|
|
54
56
|
setTimeout(() => openDrawer(), 500);
|
|
55
57
|
logGA(GAEvents.renameModalSaveBtnTap, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useCallback","useRenameSession","UIUtils","trans","StyleSheet","Keyboard","KButton","KColors","KContainer","KInput","KLabel","KSpacingValue","useChatContext","GAEvents","jsx","_jsx","jsxs","_jsxs","MAX_LENGTH","MIN_LENGTH","deepNormalize","str","normalize","replace","trim","RenameSessionPopup","session","value","setValue","title","mutateAsync","renameSession","openDrawer","logGA","onChangeText","text","cleaned","slice","normalized","original","visibleLength","length","confirmDisabled","counterText","onClear","handleConfirm","sessionId","id","dismiss","toast","
|
|
1
|
+
{"version":3,"names":["useState","useCallback","useRenameSession","UIUtils","trans","StyleSheet","Keyboard","KButton","KColors","KContainer","KInput","KLabel","KSpacingValue","useChatContext","GAEvents","jsx","_jsx","jsxs","_jsxs","MAX_LENGTH","MIN_LENGTH","deepNormalize","str","normalize","replace","trim","RenameSessionPopup","session","value","setValue","title","mutateAsync","renameSession","openDrawer","logGA","onChangeText","text","cleaned","slice","normalized","original","visibleLength","length","confirmDisabled","counterText","onClear","handleConfirm","sessionId","id","dismiss","toast","open","popup","setTimeout","renameModalSaveBtnTap","conversation_id","button","err","showError","View","children","style","styles","searchInputWrapper","TextArea","textAlignVertical","placeholder","multiline","input","brC","border","dark","maxLength","radius","Text","color","gray","light","divider","buttonConfirm","Solid","label","stretch","size","marginT","disabled","onPress","openRenameSessionPopup","onClose","header","showCloseButton","alignment","body","scrollable","renderContent","onPressClose","create","marginHorizontal","marginVertical","paddingTop","height","backgroundColor","padding","marginBottom","marginTop"],"sourceRoot":"../../../../src","sources":["components/Drawer/RenameSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,7 +39,9 @@ const ShareContent = ({
|
|
|
39
39
|
if (response) {
|
|
40
40
|
// Copy the generated share URL to clipboard
|
|
41
41
|
Clipboard.setString(shareUrl);
|
|
42
|
-
UIUtils.toast.
|
|
42
|
+
UIUtils.toast.open({
|
|
43
|
+
title: trans('share_session_success')
|
|
44
|
+
});
|
|
43
45
|
UIUtils.popup.dismiss();
|
|
44
46
|
logGA(GAEvents.shareChatModalCopyBtnTap, {
|
|
45
47
|
conversation_id: session.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","useEffect","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KInput","useShareSession","UIUtils","trans","Clipboard","useChatContext","GAEvents","jsx","_jsx","jsxs","_jsxs","truncateText","text","maxLength","length","substring","ShareContent","session","onConfirmRef","mutateAsync","shareSession","chatbotUrl","logGA","shareUrl","setShareUrl","id","current","response","setString","toast","
|
|
1
|
+
{"version":3,"names":["useCallback","useState","useEffect","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KInput","useShareSession","UIUtils","trans","Clipboard","useChatContext","GAEvents","jsx","_jsx","jsxs","_jsxs","truncateText","text","maxLength","length","substring","ShareContent","session","onConfirmRef","mutateAsync","shareSession","chatbotUrl","logGA","shareUrl","setShareUrl","id","current","response","setString","toast","open","title","popup","dismiss","shareChatModalCopyBtnTap","conversation_id","err","showError","truncatedName","descriptionTemplate","parts","split","View","style","styles","container","children","Text","typo","color","gray","dark","description","inputWrapper","TextBox","value","label","labelTypo","disabled","withBorder","height","border","radius","openShareSessionPopup","header","showCloseButton","alignment","body","scrollable","renderContent","actions","type","buttons","kind","weight","onPress","create","paddingVertical","paddingHorizontal","marginBottom","paddingBottom"],"sourceRoot":"../../../../src","sources":["components/Drawer/ShareSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useRef, useState } from 'react';
|
|
4
|
+
import { FlatList, StyleSheet } from 'react-native';
|
|
5
|
+
import Animated, { Layout, FadeIn, FadeOut } from 'react-native-reanimated';
|
|
6
|
+
import LinearGradient from 'react-native-linear-gradient';
|
|
7
|
+
import { KColors, KContainer, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
|
|
8
|
+
import { SendActionLogType } from "../../../types/index.js";
|
|
9
|
+
import { GAEvents } from "../../../constants/events.js";
|
|
10
|
+
import useSessionStore from "../../../store/session.js";
|
|
11
|
+
import { useChatContext } from "../../../context/ChatContext.js";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const keyExtractor = item => item.suggestion_id;
|
|
14
|
+
const COUNTDOWN_MS = 60000;
|
|
15
|
+
const LEFT_GRADIENT_CONFIG = {
|
|
16
|
+
colors: [KColors.hexToRgba(KColors.white, 0.9), KColors.hexToRgba(KColors.white, 0)],
|
|
17
|
+
start: {
|
|
18
|
+
x: 0,
|
|
19
|
+
y: 0
|
|
20
|
+
},
|
|
21
|
+
end: {
|
|
22
|
+
x: 1,
|
|
23
|
+
y: 0
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const RIGHT_GRADIENT_CONFIG = {
|
|
27
|
+
colors: [KColors.hexToRgba(KColors.white, 0), KColors.hexToRgba(KColors.white, 0.9)],
|
|
28
|
+
start: {
|
|
29
|
+
x: 0,
|
|
30
|
+
y: 0
|
|
31
|
+
},
|
|
32
|
+
end: {
|
|
33
|
+
x: 1,
|
|
34
|
+
y: 0
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const SuggestionsBar = ({
|
|
38
|
+
suggestions,
|
|
39
|
+
groupSuggestionId,
|
|
40
|
+
messageId,
|
|
41
|
+
onSendMessage
|
|
42
|
+
}) => {
|
|
43
|
+
const countdownRef = useRef(null);
|
|
44
|
+
const isInCountdownRef = useRef(false);
|
|
45
|
+
const firstVisibleItemRef = useRef(null);
|
|
46
|
+
const scrollXRef = useRef(0);
|
|
47
|
+
const [containerWidth, setContainerWidth] = useState(0);
|
|
48
|
+
const [contentWidth, setContentWidth] = useState(0);
|
|
49
|
+
const [showLeftOverlay, setShowLeftOverlay] = useState(false);
|
|
50
|
+
const [showRightOverlay, setShowRightOverlay] = useState(false);
|
|
51
|
+
const logGA = useChatContext().logGA;
|
|
52
|
+
const onPressItem = useCallback((item, index) => {
|
|
53
|
+
onSendMessage(item.content, undefined, SendActionLogType.promptSuggestion);
|
|
54
|
+
logGA(GAEvents.chatDetailInConvPrmSuggTap, {
|
|
55
|
+
conversation_id: useSessionStore.getState().sessionId,
|
|
56
|
+
group_id: groupSuggestionId,
|
|
57
|
+
suggestion_id: item.suggestion_id,
|
|
58
|
+
suggestion_content: item.content,
|
|
59
|
+
suggestion_cate: item.category,
|
|
60
|
+
order: index
|
|
61
|
+
});
|
|
62
|
+
}, [onSendMessage, logGA, groupSuggestionId]);
|
|
63
|
+
const renderItem = useCallback(({
|
|
64
|
+
item,
|
|
65
|
+
index
|
|
66
|
+
}) => /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
67
|
+
style: styles.suggestionItem,
|
|
68
|
+
onPress: () => onPressItem(item, index),
|
|
69
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
70
|
+
typo: "TextSmNormal",
|
|
71
|
+
children: item?.content || ''
|
|
72
|
+
})
|
|
73
|
+
}), [onPressItem]);
|
|
74
|
+
const updateOverlays = useCallback(() => {
|
|
75
|
+
if (contentWidth <= containerWidth) {
|
|
76
|
+
setShowLeftOverlay(false);
|
|
77
|
+
setShowRightOverlay(false);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const x = scrollXRef.current || 0;
|
|
81
|
+
const offset = 16;
|
|
82
|
+
setShowLeftOverlay(x > offset);
|
|
83
|
+
setShowRightOverlay(x < Math.max(0, contentWidth - containerWidth - offset));
|
|
84
|
+
}, [contentWidth, containerWidth]);
|
|
85
|
+
const onScroll = useCallback(({
|
|
86
|
+
nativeEvent
|
|
87
|
+
}) => {
|
|
88
|
+
scrollXRef.current = nativeEvent.contentOffset?.x || 0;
|
|
89
|
+
setTimeout(() => updateOverlays(), 0);
|
|
90
|
+
}, [updateOverlays]);
|
|
91
|
+
const onContentSizeChange = useCallback((w, _h) => {
|
|
92
|
+
setContentWidth(w);
|
|
93
|
+
}, []);
|
|
94
|
+
const onLayout = useCallback(ev => {
|
|
95
|
+
setContainerWidth(ev.nativeEvent.layout.width);
|
|
96
|
+
}, []);
|
|
97
|
+
const onViewableItemsChanged = useCallback(({
|
|
98
|
+
viewableItems
|
|
99
|
+
}) => {
|
|
100
|
+
if (viewableItems && viewableItems.length > 0) {
|
|
101
|
+
firstVisibleItemRef.current = viewableItems[0].item;
|
|
102
|
+
}
|
|
103
|
+
}, []);
|
|
104
|
+
const logFirstVisibleItem = useCallback(() => {
|
|
105
|
+
if (!firstVisibleItemRef.current) return;
|
|
106
|
+
logGA(GAEvents.chatDetailInConvPrmSuggScroll, {
|
|
107
|
+
group_id: groupSuggestionId,
|
|
108
|
+
message_chat_id: messageId,
|
|
109
|
+
suggestion_id: firstVisibleItemRef.current.suggestion_id
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Bắt đầu countdown
|
|
113
|
+
isInCountdownRef.current = true;
|
|
114
|
+
countdownRef.current = setTimeout(() => {
|
|
115
|
+
isInCountdownRef.current = false;
|
|
116
|
+
countdownRef.current = null;
|
|
117
|
+
}, COUNTDOWN_MS);
|
|
118
|
+
}, [logGA, groupSuggestionId, messageId]);
|
|
119
|
+
const handleMomentumEnd = useCallback(() => {
|
|
120
|
+
if (!isInCountdownRef.current) {
|
|
121
|
+
logFirstVisibleItem();
|
|
122
|
+
}
|
|
123
|
+
}, [logFirstVisibleItem]);
|
|
124
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
125
|
+
style: styles.wrapper,
|
|
126
|
+
onLayout: onLayout,
|
|
127
|
+
children: [/*#__PURE__*/_jsx(FlatList, {
|
|
128
|
+
data: suggestions,
|
|
129
|
+
keyExtractor: keyExtractor,
|
|
130
|
+
horizontal: true,
|
|
131
|
+
renderItem: renderItem,
|
|
132
|
+
style: styles.container,
|
|
133
|
+
contentContainerStyle: styles.contentContainer,
|
|
134
|
+
onScroll: onScroll,
|
|
135
|
+
scrollEventThrottle: 16,
|
|
136
|
+
onContentSizeChange: onContentSizeChange,
|
|
137
|
+
onViewableItemsChanged: onViewableItemsChanged,
|
|
138
|
+
onMomentumScrollEnd: handleMomentumEnd
|
|
139
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
140
|
+
visible: showLeftOverlay,
|
|
141
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
142
|
+
pointerEvents: "none",
|
|
143
|
+
entering: FadeIn.duration(300),
|
|
144
|
+
exiting: FadeOut.duration(300),
|
|
145
|
+
layout: Layout.springify(),
|
|
146
|
+
style: styles.leftOverlay,
|
|
147
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
148
|
+
...LEFT_GRADIENT_CONFIG,
|
|
149
|
+
style: StyleSheet.absoluteFill
|
|
150
|
+
})
|
|
151
|
+
})
|
|
152
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
153
|
+
visible: showRightOverlay,
|
|
154
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
155
|
+
pointerEvents: "none",
|
|
156
|
+
entering: FadeIn.duration(300),
|
|
157
|
+
exiting: FadeOut.duration(300),
|
|
158
|
+
layout: Layout.springify(),
|
|
159
|
+
style: styles.rightOverlay,
|
|
160
|
+
children: /*#__PURE__*/_jsx(LinearGradient, {
|
|
161
|
+
...RIGHT_GRADIENT_CONFIG,
|
|
162
|
+
style: StyleSheet.absoluteFill
|
|
163
|
+
})
|
|
164
|
+
})
|
|
165
|
+
})]
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
export default SuggestionsBar;
|
|
169
|
+
const styles = StyleSheet.create({
|
|
170
|
+
wrapper: {
|
|
171
|
+
position: 'relative'
|
|
172
|
+
},
|
|
173
|
+
container: {
|
|
174
|
+
marginHorizontal: KSpacingValue['0.25rem']
|
|
175
|
+
},
|
|
176
|
+
contentContainer: {
|
|
177
|
+
gap: KSpacingValue['0.25rem'],
|
|
178
|
+
paddingHorizontal: KSpacingValue['0.5rem'],
|
|
179
|
+
paddingBottom: 8
|
|
180
|
+
},
|
|
181
|
+
suggestionItem: {
|
|
182
|
+
backgroundColor: KColors.palette.gray.w25,
|
|
183
|
+
borderRadius: KRadiusValue['4x'],
|
|
184
|
+
height: 32,
|
|
185
|
+
justifyContent: 'center',
|
|
186
|
+
alignItems: 'center',
|
|
187
|
+
paddingHorizontal: KSpacingValue['0.75rem']
|
|
188
|
+
},
|
|
189
|
+
leftOverlay: {
|
|
190
|
+
position: 'absolute',
|
|
191
|
+
left: 0,
|
|
192
|
+
top: 0,
|
|
193
|
+
bottom: 8,
|
|
194
|
+
width: 28,
|
|
195
|
+
zIndex: 10,
|
|
196
|
+
overflow: 'hidden'
|
|
197
|
+
},
|
|
198
|
+
rightOverlay: {
|
|
199
|
+
position: 'absolute',
|
|
200
|
+
right: 0,
|
|
201
|
+
top: 0,
|
|
202
|
+
bottom: 8,
|
|
203
|
+
width: 28,
|
|
204
|
+
zIndex: 10,
|
|
205
|
+
overflow: 'hidden'
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
//# sourceMappingURL=SuggestionsBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useRef","useState","FlatList","StyleSheet","Animated","Layout","FadeIn","FadeOut","LinearGradient","KColors","KContainer","KLabel","KRadiusValue","KSpacingValue","SendActionLogType","GAEvents","useSessionStore","useChatContext","jsx","_jsx","jsxs","_jsxs","keyExtractor","item","suggestion_id","COUNTDOWN_MS","LEFT_GRADIENT_CONFIG","colors","hexToRgba","white","start","x","y","end","RIGHT_GRADIENT_CONFIG","SuggestionsBar","suggestions","groupSuggestionId","messageId","onSendMessage","countdownRef","isInCountdownRef","firstVisibleItemRef","scrollXRef","containerWidth","setContainerWidth","contentWidth","setContentWidth","showLeftOverlay","setShowLeftOverlay","showRightOverlay","setShowRightOverlay","logGA","onPressItem","index","content","undefined","promptSuggestion","chatDetailInConvPrmSuggTap","conversation_id","getState","sessionId","group_id","suggestion_content","suggestion_cate","category","order","renderItem","Touchable","style","styles","suggestionItem","onPress","children","Text","typo","updateOverlays","current","offset","Math","max","onScroll","nativeEvent","contentOffset","setTimeout","onContentSizeChange","w","_h","onLayout","ev","layout","width","onViewableItemsChanged","viewableItems","length","logFirstVisibleItem","chatDetailInConvPrmSuggScroll","message_chat_id","handleMomentumEnd","View","wrapper","data","horizontal","container","contentContainerStyle","contentContainer","scrollEventThrottle","onMomentumScrollEnd","VisibleView","visible","pointerEvents","entering","duration","exiting","springify","leftOverlay","absoluteFill","rightOverlay","create","position","marginHorizontal","gap","paddingHorizontal","paddingBottom","backgroundColor","palette","gray","w25","borderRadius","height","justifyContent","alignItems","left","top","bottom","zIndex","overflow","right"],"sourceRoot":"../../../../../src","sources":["components/chat/footer/SuggestionsBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { KButton, KColors, KContainer, KImage, KInput, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
|
|
4
|
-
import
|
|
4
|
+
import SuggestionsBar from "./SuggestionsBar.js";
|
|
5
|
+
import { useCallback, useState, useRef, useMemo, useEffect } from 'react';
|
|
5
6
|
import { FlatList, StyleSheet, TouchableWithoutFeedback, Keyboard } from 'react-native';
|
|
6
7
|
|
|
7
8
|
// Type assertion to fix TypeScript issue with React Native components
|
|
@@ -28,27 +29,20 @@ const {
|
|
|
28
29
|
const MAX_FILE_UPLOAD = 3;
|
|
29
30
|
const MAX_FILE_SIZE = 30 * 1024 * 1024;
|
|
30
31
|
const MAX_IMAGE_SIZE = 7 * 1024 * 1024;
|
|
31
|
-
const COUNTDOWN_MS = 60000;
|
|
32
32
|
const ChatFooter = ({
|
|
33
33
|
lastMessage
|
|
34
34
|
}) => {
|
|
35
|
-
const countdownRef = useRef(null);
|
|
36
|
-
const isInCountdownRef = useRef(false);
|
|
37
|
-
const firstVisibleItemRef = useRef(null);
|
|
38
|
-
const viewabilityConfig = useRef({
|
|
39
|
-
itemVisiblePercentThreshold: 10
|
|
40
|
-
}).current;
|
|
41
35
|
const menuRef = useRef(null);
|
|
42
36
|
const logGA = useChatContext().logGA;
|
|
43
37
|
const {
|
|
44
|
-
onSendMessage
|
|
45
|
-
stopStream
|
|
38
|
+
onSendMessage
|
|
46
39
|
} = useSendMessage();
|
|
47
40
|
const [message, setMessage] = useState('');
|
|
48
41
|
const isStreaming = useStreamMessageStore(state => state.isStreaming);
|
|
42
|
+
const stopStream = useStreamMessageStore(state => state.stopStream);
|
|
49
43
|
const [fileUpload, setFileUpload] = useState([]);
|
|
50
|
-
const debouncedMessage = debounce(
|
|
51
|
-
setMessage(
|
|
44
|
+
const debouncedMessage = debounce(m => {
|
|
45
|
+
setMessage(m);
|
|
52
46
|
}, 200);
|
|
53
47
|
const isDisabledSend = useMemo(() => {
|
|
54
48
|
return !isStreaming && (message.trim() === '' || fileUpload.length > 0 && fileUpload.some(i => !i.remoteUrl));
|
|
@@ -241,146 +235,98 @@ const ChatFooter = ({
|
|
|
241
235
|
button: 'file'
|
|
242
236
|
});
|
|
243
237
|
}, [fileUpload, logGA]);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
suggestion_id: item.suggestion_id,
|
|
250
|
-
suggestion_content: item.content,
|
|
251
|
-
suggestion_cate: item.category,
|
|
252
|
-
order: index
|
|
253
|
-
});
|
|
254
|
-
}, 200);
|
|
255
|
-
const renderSuggestionItem = useCallback((item, index) => {
|
|
256
|
-
return /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
257
|
-
style: styles.suggestionItem,
|
|
258
|
-
onPress: () => onPressItemSuggestion(item, index),
|
|
259
|
-
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
260
|
-
typo: "TextSmNormal",
|
|
261
|
-
children: item?.content || ''
|
|
262
|
-
})
|
|
263
|
-
});
|
|
264
|
-
}, [onPressItemSuggestion]);
|
|
265
|
-
const onViewableItemsChanged = useRef(({
|
|
266
|
-
viewableItems
|
|
267
|
-
}) => {
|
|
268
|
-
if (viewableItems && viewableItems.length > 0) {
|
|
269
|
-
firstVisibleItemRef.current = viewableItems[0].item;
|
|
270
|
-
}
|
|
271
|
-
}).current;
|
|
272
|
-
const logFirstVisibleItem = useCallback(() => {
|
|
273
|
-
if (!firstVisibleItemRef.current) return;
|
|
274
|
-
logGA(GAEvents.chatDetailInConvPrmSuggScroll, {
|
|
275
|
-
group_id: lastMessage?.group_suggestion_id,
|
|
276
|
-
message_chat_id: lastMessage?.id,
|
|
277
|
-
suggestion_id: firstVisibleItemRef.current.suggestion_id
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
// Bắt đầu countdown
|
|
281
|
-
isInCountdownRef.current = true;
|
|
282
|
-
countdownRef.current = setTimeout(() => {
|
|
283
|
-
isInCountdownRef.current = false;
|
|
284
|
-
countdownRef.current = null;
|
|
285
|
-
}, COUNTDOWN_MS);
|
|
286
|
-
}, [lastMessage, logGA]);
|
|
287
|
-
const handleMomentumEnd = useCallback(() => {
|
|
288
|
-
if (!isInCountdownRef.current) {
|
|
289
|
-
logFirstVisibleItem();
|
|
290
|
-
}
|
|
291
|
-
}, [logFirstVisibleItem]);
|
|
238
|
+
useEffect(() => {
|
|
239
|
+
return () => {
|
|
240
|
+
stopStream();
|
|
241
|
+
};
|
|
242
|
+
}, [stopStream]);
|
|
292
243
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
293
244
|
style: styles.container,
|
|
294
245
|
children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
295
246
|
visible: isShowSuggestions,
|
|
296
|
-
children: /*#__PURE__*/_jsx(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}) => renderSuggestionItem(item, index),
|
|
302
|
-
horizontal: true,
|
|
303
|
-
keyExtractor: item => item.suggestion_id,
|
|
304
|
-
contentContainerStyle: styles.suggessionContainer,
|
|
305
|
-
onViewableItemsChanged: onViewableItemsChanged,
|
|
306
|
-
viewabilityConfig: viewabilityConfig,
|
|
307
|
-
scrollEventThrottle: 16,
|
|
308
|
-
onMomentumScrollEnd: handleMomentumEnd
|
|
309
|
-
})
|
|
310
|
-
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
311
|
-
visible: fileUpload.length > 0,
|
|
312
|
-
children: /*#__PURE__*/_jsx(FlatListComponent, {
|
|
313
|
-
data: fileUpload,
|
|
314
|
-
renderItem: ({
|
|
315
|
-
item
|
|
316
|
-
}) => renderUploadItem(item),
|
|
317
|
-
horizontal: true,
|
|
318
|
-
keyExtractor: item => item.uploadType === 'image' ? item.path : item.uri,
|
|
319
|
-
contentContainerStyle: styles.listUploadItem
|
|
247
|
+
children: /*#__PURE__*/_jsx(SuggestionsBar, {
|
|
248
|
+
suggestions: lastMessage?.suggestions,
|
|
249
|
+
groupSuggestionId: lastMessage?.group_suggestion_id,
|
|
250
|
+
messageId: lastMessage?.id,
|
|
251
|
+
onSendMessage: onSendMessage
|
|
320
252
|
})
|
|
321
|
-
}), /*#__PURE__*/_jsx(KInput.TextArea, {
|
|
322
|
-
paddingV: 0,
|
|
323
|
-
paddingH: '0.25rem',
|
|
324
|
-
placeholder: trans('input_placeholder'),
|
|
325
|
-
clearButtonMode: "hidden",
|
|
326
|
-
onChangeText: debouncedMessage,
|
|
327
|
-
value: message,
|
|
328
|
-
multiline: true,
|
|
329
|
-
style: styles.input,
|
|
330
|
-
blurOnSubmit: false,
|
|
331
|
-
textAlignVertical: "top"
|
|
332
253
|
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
333
|
-
style: styles.
|
|
334
|
-
children: [/*#__PURE__*/
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
254
|
+
style: styles.contentContainer,
|
|
255
|
+
children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
256
|
+
visible: fileUpload.length > 0,
|
|
257
|
+
children: /*#__PURE__*/_jsx(FlatListComponent, {
|
|
258
|
+
data: fileUpload,
|
|
259
|
+
renderItem: ({
|
|
260
|
+
item
|
|
261
|
+
}) => renderUploadItem(item),
|
|
262
|
+
horizontal: true,
|
|
263
|
+
keyExtractor: item => item.uploadType === 'image' ? item.path : item.uri,
|
|
264
|
+
contentContainerStyle: styles.listUploadItem
|
|
265
|
+
})
|
|
266
|
+
}), /*#__PURE__*/_jsx(KInput.TextArea, {
|
|
267
|
+
paddingV: 0,
|
|
268
|
+
paddingH: '0.25rem',
|
|
269
|
+
placeholder: trans('input_placeholder'),
|
|
270
|
+
clearButtonMode: "hidden",
|
|
271
|
+
onChangeText: debouncedMessage,
|
|
272
|
+
value: message,
|
|
273
|
+
multiline: true,
|
|
274
|
+
style: styles.input,
|
|
275
|
+
blurOnSubmit: false,
|
|
276
|
+
textAlignVertical: "top"
|
|
277
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
278
|
+
style: styles.actions,
|
|
279
|
+
children: [/*#__PURE__*/_jsxs(Menu, {
|
|
280
|
+
ref: menuRef,
|
|
281
|
+
renderer: Popover,
|
|
282
|
+
rendererProps: {
|
|
283
|
+
placement: 'top',
|
|
284
|
+
anchorStyle: {
|
|
285
|
+
display: 'none'
|
|
286
|
+
}
|
|
346
287
|
},
|
|
288
|
+
children: [/*#__PURE__*/_jsx(MenuTrigger, {
|
|
289
|
+
customStyles: {
|
|
290
|
+
TriggerTouchableComponent: TouchableWithoutFeedback
|
|
291
|
+
},
|
|
292
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
293
|
+
name: "image-o",
|
|
294
|
+
size: 24,
|
|
295
|
+
color: KColors.gray.dark
|
|
296
|
+
})
|
|
297
|
+
}), /*#__PURE__*/_jsx(MenuOptions, {
|
|
298
|
+
optionsContainerStyle: styles.popover,
|
|
299
|
+
children: menuItems.map(i => /*#__PURE__*/_jsxs(MenuOption, {
|
|
300
|
+
onSelect: i.onPress,
|
|
301
|
+
style: styles.menuItem,
|
|
302
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
303
|
+
typo: "TextMdMedium",
|
|
304
|
+
children: i.label
|
|
305
|
+
}), /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
306
|
+
name: i.icon
|
|
307
|
+
})]
|
|
308
|
+
}, i.icon))
|
|
309
|
+
})]
|
|
310
|
+
}), /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
311
|
+
onPress: handlePressDocumentPicker,
|
|
347
312
|
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
348
|
-
name: "
|
|
313
|
+
name: "paperclip-o",
|
|
349
314
|
size: 24,
|
|
350
315
|
color: KColors.gray.dark
|
|
351
316
|
})
|
|
352
|
-
}), /*#__PURE__*/_jsx(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
317
|
+
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
318
|
+
flex: true
|
|
319
|
+
}), /*#__PURE__*/_jsx(KButton.Solid, {
|
|
320
|
+
kind: "primary",
|
|
321
|
+
icon: {
|
|
322
|
+
vectorName: isStreaming ? 'square-b' : 'send-b',
|
|
323
|
+
size: 20,
|
|
324
|
+
tintColor: KColors.white
|
|
325
|
+
},
|
|
326
|
+
onPress: onPressSend,
|
|
327
|
+
br: "round",
|
|
328
|
+
disabled: isDisabledSend
|
|
364
329
|
})]
|
|
365
|
-
}), /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
366
|
-
onPress: handlePressDocumentPicker,
|
|
367
|
-
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
368
|
-
name: "paperclip-o",
|
|
369
|
-
size: 24,
|
|
370
|
-
color: KColors.gray.dark
|
|
371
|
-
})
|
|
372
|
-
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
373
|
-
flex: true
|
|
374
|
-
}), /*#__PURE__*/_jsx(KButton.Solid, {
|
|
375
|
-
kind: "primary",
|
|
376
|
-
icon: {
|
|
377
|
-
vectorName: isStreaming ? 'square-b' : 'send-b',
|
|
378
|
-
size: 20,
|
|
379
|
-
tintColor: KColors.white
|
|
380
|
-
},
|
|
381
|
-
onPress: onPressSend,
|
|
382
|
-
br: "round",
|
|
383
|
-
disabled: isDisabledSend
|
|
384
330
|
})]
|
|
385
331
|
})]
|
|
386
332
|
});
|
|
@@ -388,7 +334,6 @@ const ChatFooter = ({
|
|
|
388
334
|
export default ChatFooter;
|
|
389
335
|
const styles = StyleSheet.create({
|
|
390
336
|
container: {
|
|
391
|
-
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
392
337
|
paddingVertical: KSpacingValue['0.5rem'],
|
|
393
338
|
borderWidth: 1,
|
|
394
339
|
borderColor: KColors.hexToRgba(KColors.black, 0.15),
|
|
@@ -397,6 +342,9 @@ const styles = StyleSheet.create({
|
|
|
397
342
|
borderTopRightRadius: KSpacingValue['1.25rem'],
|
|
398
343
|
backgroundColor: KColors.white
|
|
399
344
|
},
|
|
345
|
+
contentContainer: {
|
|
346
|
+
paddingHorizontal: KSpacingValue['0.75rem']
|
|
347
|
+
},
|
|
400
348
|
actions: {
|
|
401
349
|
flexDirection: 'row',
|
|
402
350
|
alignItems: 'center',
|
|
@@ -428,18 +376,6 @@ const styles = StyleSheet.create({
|
|
|
428
376
|
gap: KSpacingValue['0.75rem'],
|
|
429
377
|
paddingTop: 6,
|
|
430
378
|
paddingBottom: 8
|
|
431
|
-
},
|
|
432
|
-
suggessionContainer: {
|
|
433
|
-
gap: KSpacingValue['0.25rem'],
|
|
434
|
-
paddingBottom: 8
|
|
435
|
-
},
|
|
436
|
-
suggestionItem: {
|
|
437
|
-
backgroundColor: KColors.palette.gray.w25,
|
|
438
|
-
borderRadius: KRadiusValue['4x'],
|
|
439
|
-
height: 32,
|
|
440
|
-
justifyContent: 'center',
|
|
441
|
-
alignItems: 'center',
|
|
442
|
-
paddingHorizontal: KSpacingValue['0.75rem']
|
|
443
379
|
}
|
|
444
380
|
});
|
|
445
381
|
//# sourceMappingURL=index.js.map
|