react-native-chatbot-ai 0.1.22 → 0.1.24
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 +5 -5
- package/lib/module/components/Drawer/DeleteSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/RenameSessionPopup.js +34 -24
- package/lib/module/components/Drawer/RenameSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/SessionItem.js +6 -5
- package/lib/module/components/Drawer/SessionItem.js.map +1 -1
- package/lib/module/components/Drawer/SessionList.js +5 -4
- package/lib/module/components/Drawer/SessionList.js.map +1 -1
- package/lib/module/components/Drawer/SessionOptionsBottomSheet.js +13 -7
- package/lib/module/components/Drawer/SessionOptionsBottomSheet.js.map +1 -1
- package/lib/module/components/Drawer/ShareSessionPopup.js +6 -6
- package/lib/module/components/Drawer/ShareSessionPopup.js.map +1 -1
- package/lib/module/components/chat/footer/index.js +40 -33
- package/lib/module/components/chat/footer/index.js.map +1 -1
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +26 -13
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
- package/lib/module/components/chat/item/DeeplinkItem.js +3 -3
- package/lib/module/components/chat/item/DeeplinkItem.js.map +1 -1
- package/lib/module/components/chat/item/MessageActionsBar.js +9 -9
- package/lib/module/components/chat/item/MessageActionsBar.js.map +1 -1
- package/lib/module/components/portal/Popup.js +8 -3
- package/lib/module/components/portal/Popup.js.map +1 -1
- package/lib/module/components/product/CardHorizontal.js +50 -46
- package/lib/module/components/product/CardHorizontal.js.map +1 -1
- package/lib/module/hooks/message/useStreamMessage.js +13 -2
- package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
- package/lib/module/hooks/messageActions/useAudioPlayer.js +109 -24
- package/lib/module/hooks/messageActions/useAudioPlayer.js.map +1 -1
- package/lib/module/hooks/messageActions/useFeedback.js +2 -2
- package/lib/module/hooks/messageActions/useFeedback.js.map +1 -1
- package/lib/module/hooks/messageActions/useShareMessage.js +1 -1
- package/lib/module/hooks/messageActions/useShareMessage.js.map +1 -1
- package/lib/module/store/session.js +1 -1
- package/lib/module/store/session.js.map +1 -1
- package/lib/module/utils/ui.js.map +1 -1
- package/lib/typescript/src/components/Drawer/RenameSessionPopup.d.ts +1 -1
- package/lib/typescript/src/components/Drawer/RenameSessionPopup.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/SessionItem.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/SessionOptionsBottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/portal/Popup.d.ts +4 -0
- package/lib/typescript/src/components/portal/Popup.d.ts.map +1 -1
- package/lib/typescript/src/components/product/CardHorizontal.d.ts +1 -0
- package/lib/typescript/src/components/product/CardHorizontal.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useStreamMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/messageActions/useAudioPlayer.d.ts +1 -0
- package/lib/typescript/src/hooks/messageActions/useAudioPlayer.d.ts.map +1 -1
- package/lib/typescript/src/store/products.d.ts +1 -1
- package/lib/typescript/src/store/products.d.ts.map +1 -1
- package/lib/typescript/src/types/ui.d.ts +3 -2
- package/lib/typescript/src/types/ui.d.ts.map +1 -1
- package/lib/typescript/src/utils/ui.d.ts +3 -2
- package/lib/typescript/src/utils/ui.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/Drawer/DeleteSessionPopup.tsx +5 -5
- package/src/components/Drawer/RenameSessionPopup.tsx +49 -40
- package/src/components/Drawer/SessionItem.tsx +5 -4
- package/src/components/Drawer/SessionList.tsx +8 -3
- package/src/components/Drawer/SessionOptionsBottomSheet.tsx +12 -6
- package/src/components/Drawer/ShareSessionPopup.tsx +6 -6
- package/src/components/chat/footer/index.tsx +37 -35
- package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +29 -13
- package/src/components/chat/item/DeeplinkItem.tsx +3 -3
- package/src/components/chat/item/MessageActionsBar.tsx +9 -9
- package/src/components/portal/Popup.tsx +14 -4
- package/src/components/product/CardHorizontal.tsx +46 -45
- package/src/hooks/message/useStreamMessage.ts +17 -5
- package/src/hooks/messageActions/useAudioPlayer.ts +116 -22
- package/src/hooks/messageActions/useFeedback.ts +2 -2
- package/src/hooks/messageActions/useSendFeedback.ts +1 -1
- package/src/hooks/messageActions/useShareMessage.ts +1 -1
- package/src/store/products.ts +1 -1
- package/src/store/session.ts +1 -1
- package/src/types/ui.ts +3 -2
- package/src/utils/ui.tsx +3 -2
|
@@ -33,14 +33,14 @@ const DeleteContent = ({
|
|
|
33
33
|
if (currentSessionId === session.id) {
|
|
34
34
|
setSessionId(undefined, SessionLogType.newChatBtn);
|
|
35
35
|
}
|
|
36
|
-
UIUtils.toast.showSuccess(trans('
|
|
36
|
+
UIUtils.toast.showSuccess(trans('delete_session_success'));
|
|
37
37
|
UIUtils.popup.dismiss();
|
|
38
38
|
} catch (err) {
|
|
39
39
|
UIUtils.toast.showError(err);
|
|
40
40
|
}
|
|
41
41
|
}, [session.id, currentSessionId, deleteSession, setSessionId]);
|
|
42
42
|
const truncatedName = truncateText(session.title, 50);
|
|
43
|
-
const descriptionTemplate = trans('
|
|
43
|
+
const descriptionTemplate = trans('delete_session_description');
|
|
44
44
|
const parts = descriptionTemplate.split('{sessionName}');
|
|
45
45
|
return (
|
|
46
46
|
/*#__PURE__*/
|
|
@@ -66,7 +66,7 @@ export const openDeleteSessionPopup = (session, logGA) => {
|
|
|
66
66
|
UIUtils.popup.open({
|
|
67
67
|
header: {
|
|
68
68
|
title: {
|
|
69
|
-
text: trans('
|
|
69
|
+
text: trans('delete_session_title')
|
|
70
70
|
},
|
|
71
71
|
showCloseButton: false
|
|
72
72
|
},
|
|
@@ -81,7 +81,7 @@ export const openDeleteSessionPopup = (session, logGA) => {
|
|
|
81
81
|
type: 'horizontal-button',
|
|
82
82
|
buttons: [{
|
|
83
83
|
kind: 'light',
|
|
84
|
-
label: trans('
|
|
84
|
+
label: trans('delete_session_cancel'),
|
|
85
85
|
weight: 'medium',
|
|
86
86
|
onPress: () => {
|
|
87
87
|
UIUtils.popup.dismiss();
|
|
@@ -92,7 +92,7 @@ export const openDeleteSessionPopup = (session, logGA) => {
|
|
|
92
92
|
}
|
|
93
93
|
}, {
|
|
94
94
|
kind: 'danger',
|
|
95
|
-
label: trans('
|
|
95
|
+
label: trans('delete_session_confirm'),
|
|
96
96
|
weight: 'medium',
|
|
97
97
|
onPress: () => {
|
|
98
98
|
onConfirmRef.current?.();
|
|
@@ -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","showSuccess","popup","dismiss","err","showError","truncatedName","title","descriptionTemplate","parts","split","View","style","styles","container","children","Text","typo","color","gray","dark","openDeleteSessionPopup","logGA","open","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":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,gBAAgB,QAAQ,yCAAsC;AACvE,OAAOC,OAAO,MAAM,mBAAgB;AACpC,SAASC,KAAK,QAAQ,4BAAmB;AAEzC,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,cAAc,QAAQ,sBAAa;AAC5C,SAASC,QAAQ,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,SAAiB,KAAK;EACxD,IAAID,IAAI,CAACE,MAAM,IAAID,SAAS,EAAE,OAAOD,IAAI;EACzC,OAAOA,IAAI,CAACG,SAAS,CAAC,CAAC,EAAEF,SAAS,CAAC,GAAG,GAAG;AAC3C,CAAC;AAOD,MAAMG,aAAa,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAiC,CAAC,KAAK;EACvE,MAAM;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAAGnB,gBAAgB,CAAC,CAAC;EACzD,MAAMoB,gBAAgB,GAAGjB,eAAe,CAAEkB,KAAK,IAAKA,KAAK,CAACC,SAAS,CAAC;EACpE,MAAMC,YAAY,GAAGpB,eAAe,CAAEkB,KAAK,IAAKA,KAAK,CAACE,YAAY,CAAC;;EAEnE;EACAN,YAAY,CAACO,OAAO,GAAG9B,WAAW,CAAC,YAAY;IAC7C,IAAI;MACF,MAAMyB,aAAa,CAACH,OAAO,CAACS,EAAE,CAAC;;MAE/B;MACA,IAAIL,gBAAgB,KAAKJ,OAAO,CAACS,EAAE,EAAE;QACnCF,YAAY,CAACG,SAAS,EAAEtB,cAAc,CAACuB,UAAU,CAAC;MACpD;MAEA1B,OAAO,CAAC2B,KAAK,CAACC,WAAW,CAAC3B,KAAK,CAAC,
|
|
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","showSuccess","popup","dismiss","err","showError","truncatedName","title","descriptionTemplate","parts","split","View","style","styles","container","children","Text","typo","color","gray","dark","openDeleteSessionPopup","logGA","open","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":[]}
|
|
@@ -7,55 +7,64 @@ import { trans } from "../../translation/index.js";
|
|
|
7
7
|
import { StyleSheet, Keyboard } from 'react-native';
|
|
8
8
|
import { KButton, KColors, KContainer, KInput, KLabel, KSpacingValue } from '@droppii/libs';
|
|
9
9
|
import { useChatContext } from "../../context/ChatContext.js";
|
|
10
|
+
import { GAEvents } from "../../constants/events.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const MAX_LENGTH =
|
|
12
|
+
const MAX_LENGTH = 500;
|
|
12
13
|
const MIN_LENGTH = 1;
|
|
14
|
+
const deepNormalize = str => str.normalize('NFC').replace(/[\u200B-\u200D\uFEFF]/g, '') // zero-width
|
|
15
|
+
.replace(/\u00A0/g, ' ') // NBSP → normal space
|
|
16
|
+
.replace(/\s+/g, ' ') // unify multiple spaces
|
|
17
|
+
.trim();
|
|
13
18
|
const RenameSessionPopup = ({
|
|
14
19
|
session
|
|
15
20
|
}) => {
|
|
16
21
|
const [value, setValue] = useState(session.title);
|
|
17
|
-
const [confirmDisabled, setConfirmDisabled] = useState(true);
|
|
18
22
|
const {
|
|
19
23
|
mutateAsync: renameSession
|
|
20
24
|
} = useRenameSession();
|
|
21
25
|
const {
|
|
22
|
-
openDrawer
|
|
26
|
+
openDrawer,
|
|
27
|
+
logGA
|
|
23
28
|
} = useChatContext();
|
|
24
29
|
const onChangeText = useCallback(text => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
let cleaned = text.replace(/[\u200B-\u200D\uFEFF]/g, '').replace(/\u00A0/g, ' ');
|
|
31
|
+
cleaned = cleaned.slice(0, MAX_LENGTH);
|
|
32
|
+
setValue(cleaned);
|
|
33
|
+
}, []);
|
|
34
|
+
|
|
35
|
+
// normalized trimmed value used for all logic checks
|
|
36
|
+
const normalized = deepNormalize(value);
|
|
37
|
+
const original = deepNormalize(session.title);
|
|
38
|
+
const visibleLength = value.length;
|
|
39
|
+
const confirmDisabled = normalized.length < MIN_LENGTH || normalized === original || value.length > MAX_LENGTH;
|
|
40
|
+
const counterText = visibleLength === 0 ? `Tối đa ${MAX_LENGTH} ký tự` : `Còn ${MAX_LENGTH - visibleLength}/${MAX_LENGTH} ký tự`;
|
|
30
41
|
const onClear = useCallback(() => {
|
|
31
42
|
setValue('');
|
|
32
|
-
setConfirmDisabled(true);
|
|
33
43
|
}, []);
|
|
34
44
|
const handleConfirm = useCallback(async () => {
|
|
35
|
-
|
|
36
|
-
if (confirmDisabled || !trimmed || trimmed.length < MIN_LENGTH || trimmed.length > MAX_LENGTH || trimmed === session.title.trim()) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
45
|
+
if (confirmDisabled) return;
|
|
39
46
|
try {
|
|
40
47
|
await renameSession({
|
|
41
48
|
sessionId: session.id,
|
|
42
|
-
title:
|
|
49
|
+
title: normalized
|
|
43
50
|
});
|
|
44
51
|
Keyboard.dismiss();
|
|
45
|
-
UIUtils.toast.showSuccess(trans('
|
|
52
|
+
UIUtils.toast.showSuccess(trans('rename_session_success'));
|
|
46
53
|
UIUtils.popup.dismiss();
|
|
47
|
-
setTimeout(() =>
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
setTimeout(() => openDrawer(), 500);
|
|
55
|
+
logGA(GAEvents.renameModalSaveBtnTap, {
|
|
56
|
+
conversation_id: session.id,
|
|
57
|
+
button: 'save'
|
|
58
|
+
});
|
|
50
59
|
} catch (err) {
|
|
51
60
|
UIUtils.toast.showError(err);
|
|
52
61
|
}
|
|
53
|
-
}, [confirmDisabled,
|
|
62
|
+
}, [confirmDisabled, normalized, session, renameSession, openDrawer, logGA]);
|
|
54
63
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
55
64
|
children: [/*#__PURE__*/_jsxs(KContainer.View, {
|
|
56
65
|
style: [styles.searchInputWrapper],
|
|
57
66
|
children: [/*#__PURE__*/_jsx(KInput.TextBox, {
|
|
58
|
-
placeholder: trans('
|
|
67
|
+
placeholder: trans('rename_session_placeholder'),
|
|
59
68
|
value: value,
|
|
60
69
|
onChangeText: onChangeText,
|
|
61
70
|
onClear: onClear,
|
|
@@ -69,7 +78,7 @@ const RenameSessionPopup = ({
|
|
|
69
78
|
textAlignVertical: "top"
|
|
70
79
|
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
71
80
|
color: KColors.gray.light,
|
|
72
|
-
children:
|
|
81
|
+
children: counterText
|
|
73
82
|
})]
|
|
74
83
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
75
84
|
style: styles.divider
|
|
@@ -86,11 +95,11 @@ const RenameSessionPopup = ({
|
|
|
86
95
|
})]
|
|
87
96
|
});
|
|
88
97
|
};
|
|
89
|
-
export const openRenameSessionPopup = session => {
|
|
98
|
+
export const openRenameSessionPopup = (session, onClose) => {
|
|
90
99
|
UIUtils.popup.open({
|
|
91
100
|
header: {
|
|
92
101
|
title: {
|
|
93
|
-
text: trans('
|
|
102
|
+
text: trans('rename_session_title')
|
|
94
103
|
},
|
|
95
104
|
showCloseButton: true,
|
|
96
105
|
alignment: 'left'
|
|
@@ -100,7 +109,8 @@ export const openRenameSessionPopup = session => {
|
|
|
100
109
|
renderContent: () => /*#__PURE__*/_jsx(RenameSessionPopup, {
|
|
101
110
|
session: session
|
|
102
111
|
})
|
|
103
|
-
}
|
|
112
|
+
},
|
|
113
|
+
onPressClose: onClose
|
|
104
114
|
});
|
|
105
115
|
};
|
|
106
116
|
const styles = StyleSheet.create({
|
|
@@ -1 +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","
|
|
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","showSuccess","popup","setTimeout","renameModalSaveBtnTap","conversation_id","button","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","disabled","onPress","openRenameSessionPopup","onClose","open","header","showCloseButton","alignment","body","scrollable","renderContent","onPressClose","create","marginHorizontal","marginBottom","paddingTop","backgroundColor","padding"],"sourceRoot":"../../../../src","sources":["components/Drawer/RenameSessionPopup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,8 +27,8 @@ const SessionItem = /*#__PURE__*/memo(({
|
|
|
27
27
|
style: styles.sessionItemTouchable,
|
|
28
28
|
onPress: () => onPress(item),
|
|
29
29
|
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
30
|
-
typo:
|
|
31
|
-
color: KColors.gray.dark,
|
|
30
|
+
typo: isActive ? 'TextMdMedium' : 'TextMdNormal',
|
|
31
|
+
color: isActive ? KColors.primary.normal : KColors.gray.dark,
|
|
32
32
|
numberOfLines: 1,
|
|
33
33
|
children: item.title
|
|
34
34
|
})
|
|
@@ -51,12 +51,13 @@ const styles = StyleSheet.create({
|
|
|
51
51
|
alignItems: 'center',
|
|
52
52
|
height: 38,
|
|
53
53
|
// paddingVertical: KSpacingValue['0.75rem'],
|
|
54
|
-
|
|
55
|
-
borderRadius: KSpacingValue['0.5rem']
|
|
54
|
+
paddingHorizontal: KSpacingValue['0.5rem']
|
|
55
|
+
// borderRadius: KSpacingValue['0.5rem'],
|
|
56
56
|
// marginVertical: KSpacingValue['0.25rem'],
|
|
57
57
|
},
|
|
58
58
|
sessionItemActive: {
|
|
59
|
-
backgroundColor: KColors.hexToRgba(KColors.primary.normal, 0.1)
|
|
59
|
+
backgroundColor: KColors.hexToRgba(KColors.primary.normal, 0.1),
|
|
60
|
+
borderRadius: KSpacingValue['0.5rem']
|
|
60
61
|
},
|
|
61
62
|
sessionItemTouchable: {
|
|
62
63
|
flex: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","openSessionOptionsBottomSheet","useChatContext","jsx","_jsx","jsxs","_jsxs","SessionItem","item","isActive","onPress","closeDrawer","logGA","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","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","openSessionOptionsBottomSheet","useChatContext","jsx","_jsx","jsxs","_jsxs","SessionItem","item","isActive","onPress","closeDrawer","logGA","handlePressOptions","View","style","styles","sessionItem","sessionItemActive","children","Touchable","sessionItemTouchable","Text","typo","color","primary","normal","gray","dark","numberOfLines","title","VectorIcons","name","size","menuIcon","displayName","create","flexDirection","alignItems","height","paddingHorizontal","backgroundColor","hexToRgba","borderRadius","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,WAAW;IAAEC;EAAM,CAAC,GAAGV,cAAc,CAAC,CAAC;EAE/C,MAAMW,kBAAkB,GAAGnB,WAAW,CAAC,MAAM;IAC3CO,6BAA6B,CAACO,IAAI,EAAEG,WAAW,EAAEC,KAAK,CAAC;EACzD,CAAC,EAAE,CAACJ,IAAI,EAAEG,WAAW,EAAEC,KAAK,CAAC,CAAC;EAE9B;IAAA;IACE;IACAN,KAAA,CAACV,UAAU,CAACkB,IAAI;MACdC,KAAK,EAAE,CAACC,MAAM,CAACC,WAAW,EAAER,QAAQ,IAAIO,MAAM,CAACE,iBAAiB,CAAE;MAAAC,QAAA,gBAGlEf,IAAA,CAACR,UAAU,CAACwB,SAAS;QACnBL,KAAK,EAAEC,MAAM,CAACK,oBAAqB;QACnCX,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACF,IAAI,CAAE;QAAAW,QAAA,eAG7Bf,IAAA,CAACP,MAAM,CAACyB,IAAI;UACVC,IAAI,EAAEd,QAAQ,GAAG,cAAc,GAAG,cAAe;UACjDe,KAAK,EAAEf,QAAQ,GAAGX,OAAO,CAAC2B,OAAO,CAACC,MAAM,GAAG5B,OAAO,CAAC6B,IAAI,CAACC,IAAK;UAC7DC,aAAa,EAAE,CAAE;UAAAV,QAAA,EAEhBX,IAAI,CAACsB;QAAK,CACA;MAAC,CACM,CAAC,eAEvB1B,IAAA,CAACR,UAAU,CAACwB,SAAS;QAACV,OAAO,EAAEG,kBAAmB;QAAAM,QAAA,eAChDf,IAAA,CAACJ,MAAM,CAAC+B,WAAW;UACjBC,IAAI,EAAC,mBAAmB;UACxBC,IAAI,EAAE,EAAG;UACTT,KAAK,EAAE1B,OAAO,CAAC6B,IAAI,CAACC,IAAK;UACzBb,KAAK,EAAEC,MAAM,CAACkB;QAAS,CACxB;MAAC,CACkB,CAAC;IAAA,CACR;EAAC;AAEtB,CAAC,CAAC;AAEF3B,WAAW,CAAC4B,WAAW,GAAG,aAAa;AAEvC,MAAMnB,MAAM,GAAGrB,UAAU,CAACyC,MAAM,CAAC;EAC/BnB,WAAW,EAAE;IACXoB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACV;IACAC,iBAAiB,EAAEzC,aAAa,CAAC,QAAQ;IACzC;IACA;EACF,CAAC;EACDmB,iBAAiB,EAAE;IACjBuB,eAAe,EAAE3C,OAAO,CAAC4C,SAAS,CAAC5C,OAAO,CAAC2B,OAAO,CAACC,MAAM,EAAE,GAAG,CAAC;IAC/DiB,YAAY,EAAE5C,aAAa,CAAC,QAAQ;EACtC,CAAC;EACDsB,oBAAoB,EAAE;IACpBuB,IAAI,EAAE;EACR,CAAC;EACDV,QAAQ,EAAE;IACRW,UAAU,EAAE9C,aAAa,CAAC,QAAQ;EACpC;AACF,CAAC,CAAC;AAEF,eAAeQ,WAAW","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ const ItemSeparator = () => /*#__PURE__*/_jsx(KContainer.View, {
|
|
|
13
13
|
});
|
|
14
14
|
const SessionList = /*#__PURE__*/memo(({
|
|
15
15
|
sessions,
|
|
16
|
-
activeSessionId
|
|
16
|
+
activeSessionId,
|
|
17
17
|
isLoading,
|
|
18
18
|
isRefetching,
|
|
19
19
|
onPressSession,
|
|
@@ -24,9 +24,9 @@ const SessionList = /*#__PURE__*/memo(({
|
|
|
24
24
|
item
|
|
25
25
|
}) => /*#__PURE__*/_jsx(SessionItem, {
|
|
26
26
|
item: item,
|
|
27
|
-
isActive:
|
|
27
|
+
isActive: item?.id === activeSessionId,
|
|
28
28
|
onPress: onPressSession
|
|
29
|
-
}), [onPressSession]);
|
|
29
|
+
}), [onPressSession, activeSessionId]);
|
|
30
30
|
const keyExtractor = useCallback(item => item.id, []);
|
|
31
31
|
return /*#__PURE__*/_jsx(FlashList, {
|
|
32
32
|
data: sessions,
|
|
@@ -41,7 +41,8 @@ const SessionList = /*#__PURE__*/memo(({
|
|
|
41
41
|
onEndReachedThreshold: 0.5,
|
|
42
42
|
ItemSeparatorComponent: ItemSeparator,
|
|
43
43
|
estimatedItemSize: 80,
|
|
44
|
-
ListEmptyComponent: !isLoading ? /*#__PURE__*/_jsx(EmptyState, {}) : null
|
|
44
|
+
ListEmptyComponent: !isLoading ? /*#__PURE__*/_jsx(EmptyState, {}) : null,
|
|
45
|
+
extraData: activeSessionId
|
|
45
46
|
});
|
|
46
47
|
});
|
|
47
48
|
SessionList.displayName = 'SessionList';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","StyleSheet","RefreshControl","FlashList","KSpacingValue","SessionItem","EmptyState","KContainer","jsx","_jsx","ItemSeparator","View","height","SessionList","sessions","activeSessionId","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","RefreshControl","FlashList","KSpacingValue","SessionItem","EmptyState","KContainer","jsx","_jsx","ItemSeparator","View","height","SessionList","sessions","activeSessionId","isLoading","isRefetching","onPressSession","onRefresh","onEndReached","renderItem","item","isActive","id","onPress","keyExtractor","data","contentContainerStyle","styles","listContainer","refreshControl","refreshing","onEndReachedThreshold","ItemSeparatorComponent","estimatedItemSize","ListEmptyComponent","extraData","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;EACfC,SAAS;EACTC,YAAY;EACZC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGrB,WAAW,CAC5B,CAAC;IAAEsB;EAAkC,CAAC,kBACpCb,IAAA,CAACJ,WAAW;IACViB,IAAI,EAAEA,IAAK;IACXC,QAAQ,EAAED,IAAI,EAAEE,EAAE,KAAKT,eAAgB;IACvCU,OAAO,EAAEP;EAAe,CACzB,CACF,EACD,CAACA,cAAc,EAAEH,eAAe,CAClC,CAAC;EAED,MAAMW,YAAY,GAAG1B,WAAW,CAAEsB,IAAuB,IAAKA,IAAI,CAACE,EAAE,EAAE,EAAE,CAAC;EAE1E,oBACEf,IAAA,CAACN,SAAS;IACRwB,IAAI,EAAEb,QAAS;IACfO,UAAU,EAAEA,UAAW;IACvBK,YAAY,EAAEA,YAAa;IAC3BE,qBAAqB,EAAEC,MAAM,CAACC,aAAc;IAC5CC,cAAc,eACZtB,IAAA,CAACP,cAAc;MAAC8B,UAAU,EAAEf,YAAa;MAACE,SAAS,EAAEA;IAAU,CAAE,CAClE;IACDC,YAAY,EAAEA,YAAa;IAC3Ba,qBAAqB,EAAE,GAAI;IAC3BC,sBAAsB,EAAExB,aAAc;IACtCyB,iBAAiB,EAAE,EAAG;IACtBC,kBAAkB,EAAE,CAACpB,SAAS,gBAAGP,IAAA,CAACH,UAAU,IAAE,CAAC,GAAG,IAAK;IACvD+B,SAAS,EAAEtB;EAAgB,CAC5B,CAAC;AAEN,CACF,CAAC;AAEDF,WAAW,CAACyB,WAAW,GAAG,aAAa;AAEvC,MAAMT,MAAM,GAAG5B,UAAU,CAACsC,MAAM,CAAC;EAC/BT,aAAa,EAAE;IACbU,QAAQ,EAAE,CAAC;IACXC,iBAAiB,EAAErC,aAAa,CAAC,MAAM;EACzC;AACF,CAAC,CAAC;AAEF,eAAeS,WAAW","ignoreList":[]}
|
|
@@ -41,7 +41,12 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer, logGA) => {
|
|
|
41
41
|
// Close drawer first, then open popup
|
|
42
42
|
closeDrawer?.();
|
|
43
43
|
setTimeout(() => {
|
|
44
|
-
openRenameSessionPopup(session)
|
|
44
|
+
openRenameSessionPopup(session, () => {
|
|
45
|
+
logGA?.(GAEvents.renameModalSaveBtnTap, {
|
|
46
|
+
conversation_id: session?.id,
|
|
47
|
+
button: 'escape'
|
|
48
|
+
});
|
|
49
|
+
});
|
|
45
50
|
}, 300);
|
|
46
51
|
logGA?.(GAEvents.chatDetailRenameBtnTap, {
|
|
47
52
|
conversation_id: session?.id
|
|
@@ -74,19 +79,19 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer, logGA) => {
|
|
|
74
79
|
style: styles.container,
|
|
75
80
|
children: [/*#__PURE__*/_jsx(OptionItem, {
|
|
76
81
|
icon: "edit-o",
|
|
77
|
-
label: trans('
|
|
82
|
+
label: trans('session_rename'),
|
|
78
83
|
onPress: handleRename
|
|
79
84
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
80
85
|
style: styles.divider
|
|
81
86
|
}), /*#__PURE__*/_jsx(OptionItem, {
|
|
82
|
-
icon: "share-o",
|
|
83
|
-
label: trans('
|
|
87
|
+
icon: "share-glob-o",
|
|
88
|
+
label: trans('session_share'),
|
|
84
89
|
onPress: handleShare
|
|
85
90
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
86
91
|
style: styles.divider
|
|
87
92
|
}), /*#__PURE__*/_jsx(OptionItem, {
|
|
88
93
|
icon: "trash-alt-o-1",
|
|
89
|
-
label: trans('
|
|
94
|
+
label: trans('session_delete'),
|
|
90
95
|
onPress: handleDelete,
|
|
91
96
|
isDanger: true
|
|
92
97
|
})]
|
|
@@ -96,9 +101,10 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer, logGA) => {
|
|
|
96
101
|
UIUtils.bottomSheet.open({
|
|
97
102
|
header: {
|
|
98
103
|
title: {
|
|
99
|
-
text: trans('
|
|
104
|
+
text: trans('session_options_title')
|
|
100
105
|
},
|
|
101
|
-
showCloseButton: true
|
|
106
|
+
showCloseButton: true,
|
|
107
|
+
alignment: 'left'
|
|
102
108
|
},
|
|
103
109
|
body: {
|
|
104
110
|
renderContent: () => /*#__PURE__*/_jsx(OptionsContent, {})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","UIUtils","trans","openRenameSessionPopup","openShareSessionPopup","openDeleteSessionPopup","GAEvents","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","logGA","handleRename","bottomSheet","dismiss","setTimeout","
|
|
1
|
+
{"version":3,"names":["StyleSheet","KContainer","KLabel","KColors","KSpacingValue","KImage","UIUtils","trans","openRenameSessionPopup","openShareSessionPopup","openDeleteSessionPopup","GAEvents","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","logGA","handleRename","bottomSheet","dismiss","setTimeout","renameModalSaveBtnTap","conversation_id","id","button","chatDetailRenameBtnTap","handleShare","chatDetailShareBtnTap","handleDelete","OptionsContent","View","container","divider","open","header","title","text","showCloseButton","alignment","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":[]}
|
|
@@ -39,7 +39,7 @@ const ShareContent = ({
|
|
|
39
39
|
if (response) {
|
|
40
40
|
// Copy the generated share URL to clipboard
|
|
41
41
|
Clipboard.setString(shareUrl);
|
|
42
|
-
UIUtils.toast.showSuccess(trans('
|
|
42
|
+
UIUtils.toast.showSuccess(trans('share_session_success'));
|
|
43
43
|
UIUtils.popup.dismiss();
|
|
44
44
|
logGA(GAEvents.shareChatModalCopyBtnTap, {
|
|
45
45
|
conversation_id: session.id
|
|
@@ -50,7 +50,7 @@ const ShareContent = ({
|
|
|
50
50
|
}
|
|
51
51
|
}, [session.id, shareSession, shareUrl, logGA]);
|
|
52
52
|
const truncatedName = truncateText(session.title, 50);
|
|
53
|
-
const descriptionTemplate = trans('
|
|
53
|
+
const descriptionTemplate = trans('share_session_description');
|
|
54
54
|
const parts = descriptionTemplate.split('{sessionName}');
|
|
55
55
|
return (
|
|
56
56
|
/*#__PURE__*/
|
|
@@ -70,7 +70,7 @@ const ShareContent = ({
|
|
|
70
70
|
style: [styles.inputWrapper],
|
|
71
71
|
children: /*#__PURE__*/_jsx(KInput.TextBox, {
|
|
72
72
|
value: shareUrl,
|
|
73
|
-
label: trans('
|
|
73
|
+
label: trans('share_session_link_label'),
|
|
74
74
|
labelTypo: "TextMdBold",
|
|
75
75
|
disabled: true,
|
|
76
76
|
withBorder: true,
|
|
@@ -89,7 +89,7 @@ export const openShareSessionPopup = session => {
|
|
|
89
89
|
UIUtils.popup.open({
|
|
90
90
|
header: {
|
|
91
91
|
title: {
|
|
92
|
-
text: trans('
|
|
92
|
+
text: trans('share_session_title')
|
|
93
93
|
},
|
|
94
94
|
showCloseButton: true,
|
|
95
95
|
alignment: 'left'
|
|
@@ -105,12 +105,12 @@ export const openShareSessionPopup = session => {
|
|
|
105
105
|
type: 'horizontal-button',
|
|
106
106
|
buttons: [{
|
|
107
107
|
kind: 'light',
|
|
108
|
-
label: trans('
|
|
108
|
+
label: trans('share_session_cancel'),
|
|
109
109
|
weight: 'medium',
|
|
110
110
|
onPress: () => UIUtils.popup.dismiss()
|
|
111
111
|
}, {
|
|
112
112
|
kind: 'primary',
|
|
113
|
-
label: trans('
|
|
113
|
+
label: trans('share_session_confirm'),
|
|
114
114
|
weight: 'medium',
|
|
115
115
|
onPress: () => onConfirmRef.current?.()
|
|
116
116
|
}]
|
|
@@ -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","showSuccess","popup","dismiss","shareChatModalCopyBtnTap","conversation_id","err","showError","truncatedName","title","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","open","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":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AACxD,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,MAAM,QACD,eAAe;AACtB,SAASC,eAAe,QAAQ,wCAAqC;AACrE,OAAOC,OAAO,MAAM,mBAAgB;AACpC,SAASC,KAAK,QAAQ,4BAAmB;AAEzC,OAAOC,SAAS,MAAM,mCAAmC;AACzD,SAASC,cAAc,QAAQ,8BAA2B;AAC1D,SAASC,QAAQ,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,SAAiB,KAAK;EACxD,IAAID,IAAI,CAACE,MAAM,IAAID,SAAS,EAAE,OAAOD,IAAI;EACzC,OAAOA,IAAI,CAACG,SAAS,CAAC,CAAC,EAAEF,SAAS,CAAC,GAAG,GAAG;AAC3C,CAAC;AAOD,MAAMG,YAAY,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAgC,CAAC,KAAK;EACrE,MAAM;IAAEC,WAAW,EAAEC;EAAa,CAAC,GAAGnB,eAAe,CAAC,CAAC;EACvD,MAAM;IAAEoB,UAAU;IAAEC;EAAM,CAAC,GAAGjB,cAAc,CAAC,CAAC;EAC9C,MAAM,CAACkB,QAAQ,EAAEC,WAAW,CAAC,GAAG/B,QAAQ,CAAC,EAAE,CAAC;;EAE5C;EACAC,SAAS,CAAC,MAAM;IACd8B,WAAW,CAAC,GAAGH,UAAU,WAAWJ,OAAO,CAACQ,EAAE,EAAE,CAAC;EACnD,CAAC,EAAE,CAACJ,UAAU,EAAEJ,OAAO,CAACQ,EAAE,CAAC,CAAC;;EAE5B;EACAP,YAAY,CAACQ,OAAO,GAAGlC,WAAW,CAAC,YAAY;IAC7C,IAAI;MACF,MAAMmC,QAAQ,GAAG,MAAMP,YAAY,CAACH,OAAO,CAACQ,EAAE,CAAC;MAC/C,IAAIE,QAAQ,EAAE;QACZ;QACAvB,SAAS,CAACwB,SAAS,CAACL,QAAQ,CAAC;QAC7BrB,OAAO,CAAC2B,KAAK,CAACC,WAAW,CAAC3B,KAAK,CAAC
|
|
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","showSuccess","popup","dismiss","shareChatModalCopyBtnTap","conversation_id","err","showError","truncatedName","title","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","open","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":[]}
|
|
@@ -28,12 +28,16 @@ const {
|
|
|
28
28
|
const MAX_FILE_UPLOAD = 3;
|
|
29
29
|
const MAX_FILE_SIZE = 30 * 1024 * 1024;
|
|
30
30
|
const MAX_IMAGE_SIZE = 7 * 1024 * 1024;
|
|
31
|
-
const
|
|
31
|
+
const COUNTDOWN_MS = 60000;
|
|
32
32
|
const ChatFooter = ({
|
|
33
33
|
lastMessage
|
|
34
34
|
}) => {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
const countdownRef = useRef(null);
|
|
36
|
+
const isInCountdownRef = useRef(false);
|
|
37
|
+
const firstVisibleItemRef = useRef(null);
|
|
38
|
+
const viewabilityConfig = useRef({
|
|
39
|
+
itemVisiblePercentThreshold: 10
|
|
40
|
+
}).current;
|
|
37
41
|
const menuRef = useRef(null);
|
|
38
42
|
const logGA = useChatContext().logGA;
|
|
39
43
|
const {
|
|
@@ -47,7 +51,7 @@ const ChatFooter = ({
|
|
|
47
51
|
setMessage(message);
|
|
48
52
|
}, 200);
|
|
49
53
|
const isDisabledSend = useMemo(() => {
|
|
50
|
-
return isStreaming
|
|
54
|
+
return !isStreaming && (message.trim() === '' || fileUpload.length > 0 && fileUpload.some(i => !i.remoteUrl));
|
|
51
55
|
}, [isStreaming, message, fileUpload]);
|
|
52
56
|
const isShowSuggestions = useMemo(() => {
|
|
53
57
|
return !!(lastMessage?.type === MessageType.ai_answer && lastMessage?.suggestions && lastMessage?.suggestions?.length > 0);
|
|
@@ -258,33 +262,33 @@ const ChatFooter = ({
|
|
|
258
262
|
})
|
|
259
263
|
});
|
|
260
264
|
}, [onPressItemSuggestion]);
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
+
const onViewableItemsChanged = useRef(({
|
|
266
|
+
viewableItems
|
|
267
|
+
}) => {
|
|
268
|
+
if (viewableItems && viewableItems.length > 0) {
|
|
269
|
+
firstVisibleItemRef.current = viewableItems[0].item;
|
|
265
270
|
}
|
|
266
|
-
};
|
|
267
|
-
const
|
|
271
|
+
}).current;
|
|
272
|
+
const logFirstVisibleItem = useCallback(() => {
|
|
273
|
+
if (!firstVisibleItemRef.current) return;
|
|
268
274
|
logGA(GAEvents.chatDetailInConvPrmSuggScroll, {
|
|
269
275
|
group_id: lastMessage?.group_suggestion_id,
|
|
270
|
-
|
|
276
|
+
message_chat_id: lastMessage?.id,
|
|
277
|
+
suggestion_id: firstVisibleItemRef.current.suggestion_id
|
|
271
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);
|
|
272
286
|
}, [lastMessage, logGA]);
|
|
273
|
-
const
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
onUserIdleAfterScroll();
|
|
279
|
-
}
|
|
280
|
-
}, SCROLL_IDLE_TIME);
|
|
281
|
-
}, [onUserIdleAfterScroll]);
|
|
282
|
-
const handleScroll = () => {
|
|
283
|
-
resetIdleTimer();
|
|
284
|
-
};
|
|
285
|
-
const handleMomentumEnd = () => {
|
|
286
|
-
resetIdleTimer();
|
|
287
|
-
};
|
|
287
|
+
const handleMomentumEnd = useCallback(() => {
|
|
288
|
+
if (!isInCountdownRef.current) {
|
|
289
|
+
logFirstVisibleItem();
|
|
290
|
+
}
|
|
291
|
+
}, [logFirstVisibleItem]);
|
|
288
292
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
289
293
|
style: styles.container,
|
|
290
294
|
children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
@@ -298,9 +302,10 @@ const ChatFooter = ({
|
|
|
298
302
|
horizontal: true,
|
|
299
303
|
keyExtractor: item => item.suggestion_id,
|
|
300
304
|
contentContainerStyle: styles.suggessionContainer,
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
scrollEventThrottle:
|
|
305
|
+
onViewableItemsChanged: onViewableItemsChanged,
|
|
306
|
+
viewabilityConfig: viewabilityConfig,
|
|
307
|
+
scrollEventThrottle: 16,
|
|
308
|
+
onMomentumScrollEnd: handleMomentumEnd
|
|
304
309
|
})
|
|
305
310
|
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
306
311
|
visible: fileUpload.length > 0,
|
|
@@ -385,7 +390,6 @@ const styles = StyleSheet.create({
|
|
|
385
390
|
container: {
|
|
386
391
|
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
387
392
|
paddingVertical: KSpacingValue['0.5rem'],
|
|
388
|
-
gap: KSpacingValue['0.5rem'],
|
|
389
393
|
borderWidth: 1,
|
|
390
394
|
borderColor: KColors.hexToRgba(KColors.black, 0.15),
|
|
391
395
|
borderBottomWidth: 0,
|
|
@@ -402,7 +406,8 @@ const styles = StyleSheet.create({
|
|
|
402
406
|
alignSelf: 'flex-end'
|
|
403
407
|
},
|
|
404
408
|
input: {
|
|
405
|
-
maxHeight: 100
|
|
409
|
+
maxHeight: 100,
|
|
410
|
+
marginBottom: 8
|
|
406
411
|
},
|
|
407
412
|
popover: {
|
|
408
413
|
borderRadius: KRadiusValue['4x'],
|
|
@@ -421,10 +426,12 @@ const styles = StyleSheet.create({
|
|
|
421
426
|
},
|
|
422
427
|
listUploadItem: {
|
|
423
428
|
gap: KSpacingValue['0.75rem'],
|
|
424
|
-
paddingTop: 6
|
|
429
|
+
paddingTop: 6,
|
|
430
|
+
paddingBottom: 8
|
|
425
431
|
},
|
|
426
432
|
suggessionContainer: {
|
|
427
|
-
gap: KSpacingValue['0.25rem']
|
|
433
|
+
gap: KSpacingValue['0.25rem'],
|
|
434
|
+
paddingBottom: 8
|
|
428
435
|
},
|
|
429
436
|
suggestionItem: {
|
|
430
437
|
backgroundColor: KColors.palette.gray.w25,
|