react-native-chatbot-ai 0.1.21 → 0.1.23
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 +24 -10
- package/lib/module/components/Drawer/DeleteSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/DrawerContent.js +17 -5
- package/lib/module/components/Drawer/DrawerContent.js.map +1 -1
- package/lib/module/components/Drawer/RenameSessionPopup.js +25 -22
- package/lib/module/components/Drawer/RenameSessionPopup.js.map +1 -1
- package/lib/module/components/Drawer/SearchInput.js +10 -3
- package/lib/module/components/Drawer/SearchInput.js.map +1 -1
- package/lib/module/components/Drawer/SessionItem.js +10 -8
- 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 +17 -9
- package/lib/module/components/Drawer/SessionOptionsBottomSheet.js.map +1 -1
- package/lib/module/components/Drawer/ShareSessionPopup.js +14 -10
- package/lib/module/components/Drawer/ShareSessionPopup.js.map +1 -1
- package/lib/module/components/chat/ChatEmpty.js +15 -4
- package/lib/module/components/chat/ChatEmpty.js.map +1 -1
- package/lib/module/components/chat/ChatHeader.js +10 -4
- package/lib/module/components/chat/ChatHeader.js.map +1 -1
- package/lib/module/components/chat/ChatMessageList.js +14 -1
- package/lib/module/components/chat/ChatMessageList.js.map +1 -1
- package/lib/module/components/chat/SuggestionItem.js +2 -1
- package/lib/module/components/chat/SuggestionItem.js.map +1 -1
- package/lib/module/components/chat/footer/index.js +77 -15
- package/lib/module/components/chat/footer/index.js.map +1 -1
- package/lib/module/components/chat/footer/item/UploadImageItem.js +21 -1
- package/lib/module/components/chat/footer/item/UploadImageItem.js.map +1 -1
- package/lib/module/components/chat/index.js +7 -6
- package/lib/module/components/chat/index.js.map +1 -1
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +7 -4
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
- package/lib/module/components/chat/item/DeeplinkItem.js +30 -2
- package/lib/module/components/chat/item/DeeplinkItem.js.map +1 -1
- package/lib/module/components/chat/item/MessageActionsBar.js +16 -10
- package/lib/module/components/chat/item/MessageActionsBar.js.map +1 -1
- package/lib/module/components/product/CardHorizontal.js +44 -7
- package/lib/module/components/product/CardHorizontal.js.map +1 -1
- package/lib/module/constants/events.js +33 -0
- package/lib/module/constants/events.js.map +1 -1
- package/lib/module/context/ChatContext.js +6 -3
- package/lib/module/context/ChatContext.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +21 -3
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/message/useStreamMessage.js +10 -3
- package/lib/module/hooks/message/useStreamMessage.js.map +1 -1
- package/lib/module/hooks/messageActions/useAudioPlayer.js +134 -23
- package/lib/module/hooks/messageActions/useAudioPlayer.js.map +1 -1
- package/lib/module/hooks/messageActions/useFeedback.js +9 -1
- package/lib/module/hooks/messageActions/useFeedback.js.map +1 -1
- package/lib/module/hooks/messageActions/useShareMessage.js +9 -1
- package/lib/module/hooks/messageActions/useShareMessage.js.map +1 -1
- package/lib/module/hooks/session/useSearchSessions.js +5 -1
- package/lib/module/hooks/session/useSearchSessions.js.map +1 -1
- package/lib/module/hooks/upload/useImageUpload.js +2 -1
- package/lib/module/hooks/upload/useImageUpload.js.map +1 -1
- package/lib/module/store/session.js +6 -3
- package/lib/module/store/session.js.map +1 -1
- package/lib/module/translation/index.js +21 -25
- package/lib/module/translation/index.js.map +1 -1
- package/lib/module/translation/resources/{vi.js → i18n.js} +5 -2
- package/lib/module/translation/resources/i18n.js.map +1 -0
- package/lib/module/types/chat.js +12 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/typescript/src/components/Drawer/DeleteSessionPopup.d.ts +1 -1
- package/lib/typescript/src/components/Drawer/DeleteSessionPopup.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/DrawerContent.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/SearchInput.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 +1 -1
- package/lib/typescript/src/components/Drawer/SessionOptionsBottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/Drawer/ShareSessionPopup.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/SuggestionItem.d.ts +3 -2
- package/lib/typescript/src/components/chat/SuggestionItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/footer/item/UploadImageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/index.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/DeeplinkItem.d.ts +2 -1
- package/lib/typescript/src/components/chat/item/DeeplinkItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/MessageActionsBar.d.ts.map +1 -1
- package/lib/typescript/src/components/product/CardHorizontal.d.ts +3 -2
- package/lib/typescript/src/components/product/CardHorizontal.d.ts.map +1 -1
- package/lib/typescript/src/constants/events.d.ts +33 -0
- package/lib/typescript/src/constants/events.d.ts.map +1 -1
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -2
- package/lib/typescript/src/hooks/message/useSendMessage.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/hooks/messageActions/useFeedback.d.ts.map +1 -1
- package/lib/typescript/src/hooks/messageActions/useShareMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/session/useSearchSessions.d.ts +1 -1
- package/lib/typescript/src/hooks/session/useSearchSessions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/upload/useImageUpload.d.ts +1 -1
- package/lib/typescript/src/hooks/upload/useImageUpload.d.ts.map +1 -1
- package/lib/typescript/src/store/session.d.ts.map +1 -1
- package/lib/typescript/src/translation/index.d.ts +3 -4
- package/lib/typescript/src/translation/index.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts +5 -0
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -0
- package/lib/typescript/src/types/chat.d.ts +14 -1
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/package.json +3 -6
- package/src/components/Drawer/DeleteSessionPopup.tsx +27 -10
- package/src/components/Drawer/DrawerContent.tsx +20 -5
- package/src/components/Drawer/RenameSessionPopup.tsx +39 -39
- package/src/components/Drawer/SearchInput.tsx +11 -2
- package/src/components/Drawer/SessionItem.tsx +8 -7
- package/src/components/Drawer/SessionList.tsx +8 -3
- package/src/components/Drawer/SessionOptionsBottomSheet.tsx +17 -8
- package/src/components/Drawer/ShareSessionPopup.tsx +13 -10
- package/src/components/chat/ChatEmpty.tsx +15 -5
- package/src/components/chat/ChatHeader.tsx +9 -4
- package/src/components/chat/ChatMessageList.tsx +16 -1
- package/src/components/chat/SuggestionItem.tsx +4 -3
- package/src/components/chat/footer/index.tsx +95 -14
- package/src/components/chat/footer/item/UploadImageItem.tsx +21 -1
- package/src/components/chat/index.tsx +8 -11
- package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +17 -6
- package/src/components/chat/item/DeeplinkItem.tsx +30 -2
- package/src/components/chat/item/MessageActionsBar.tsx +15 -9
- package/src/components/chat/item/actions/ActionButton.tsx +0 -1
- package/src/components/product/CardHorizontal.tsx +45 -10
- package/src/constants/events.ts +34 -0
- package/src/context/ChatContext.tsx +3 -0
- package/src/hooks/message/useSendMessage.ts +47 -4
- package/src/hooks/message/useStreamMessage.ts +15 -4
- package/src/hooks/messageActions/useAudioPlayer.ts +143 -20
- package/src/hooks/messageActions/useCopyToClipboard.ts +0 -1
- package/src/hooks/messageActions/useFeedback.ts +10 -1
- package/src/hooks/messageActions/useShareMessage.ts +9 -1
- package/src/hooks/session/useSearchSessions.ts +6 -1
- package/src/hooks/upload/useImageUpload.ts +6 -2
- package/src/store/session.ts +4 -2
- package/src/translation/index.ts +27 -19
- package/src/translation/resources/{vi.ts → i18n.ts} +5 -1
- package/src/types/chat.ts +19 -1
- package/src/utils/textCleaner.ts +0 -1
- package/lib/module/translation/resources/vi.js.map +0 -1
- package/lib/typescript/src/translation/resources/vi.d.ts +0 -31
- package/lib/typescript/src/translation/resources/vi.d.ts.map +0 -1
|
@@ -5,8 +5,10 @@ import { StyleSheet } from 'react-native';
|
|
|
5
5
|
import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
6
|
import { useDeleteSession } from "../../hooks/session/useDeleteSession.js";
|
|
7
7
|
import UIUtils from "../../utils/ui.js";
|
|
8
|
-
import trans from "../../translation/index.js";
|
|
8
|
+
import { trans } from "../../translation/index.js";
|
|
9
9
|
import useSessionStore from "../../store/session.js";
|
|
10
|
+
import { SessionLogType } from "../../types/index.js";
|
|
11
|
+
import { GAEvents } from "../../constants/events.js";
|
|
10
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
13
|
const truncateText = (text, maxLength) => {
|
|
12
14
|
if (text.length <= maxLength) return text;
|
|
@@ -29,16 +31,16 @@ const DeleteContent = ({
|
|
|
29
31
|
|
|
30
32
|
// If the deleted session is the current active session, clear it
|
|
31
33
|
if (currentSessionId === session.id) {
|
|
32
|
-
setSessionId(undefined);
|
|
34
|
+
setSessionId(undefined, SessionLogType.newChatBtn);
|
|
33
35
|
}
|
|
34
|
-
UIUtils.toast.showSuccess(trans('
|
|
36
|
+
UIUtils.toast.showSuccess(trans('delete_session_success'));
|
|
35
37
|
UIUtils.popup.dismiss();
|
|
36
38
|
} catch (err) {
|
|
37
39
|
UIUtils.toast.showError(err);
|
|
38
40
|
}
|
|
39
41
|
}, [session.id, currentSessionId, deleteSession, setSessionId]);
|
|
40
42
|
const truncatedName = truncateText(session.title, 50);
|
|
41
|
-
const descriptionTemplate = trans('
|
|
43
|
+
const descriptionTemplate = trans('delete_session_description');
|
|
42
44
|
const parts = descriptionTemplate.split('{sessionName}');
|
|
43
45
|
return (
|
|
44
46
|
/*#__PURE__*/
|
|
@@ -57,14 +59,14 @@ const DeleteContent = ({
|
|
|
57
59
|
})
|
|
58
60
|
);
|
|
59
61
|
};
|
|
60
|
-
export const openDeleteSessionPopup = session => {
|
|
62
|
+
export const openDeleteSessionPopup = (session, logGA) => {
|
|
61
63
|
const onConfirmRef = {
|
|
62
64
|
current: null
|
|
63
65
|
};
|
|
64
66
|
UIUtils.popup.open({
|
|
65
67
|
header: {
|
|
66
68
|
title: {
|
|
67
|
-
text: trans('
|
|
69
|
+
text: trans('delete_session_title')
|
|
68
70
|
},
|
|
69
71
|
showCloseButton: false
|
|
70
72
|
},
|
|
@@ -79,14 +81,26 @@ export const openDeleteSessionPopup = session => {
|
|
|
79
81
|
type: 'horizontal-button',
|
|
80
82
|
buttons: [{
|
|
81
83
|
kind: 'light',
|
|
82
|
-
label: trans('
|
|
84
|
+
label: trans('delete_session_cancel'),
|
|
83
85
|
weight: 'medium',
|
|
84
|
-
onPress: () =>
|
|
86
|
+
onPress: () => {
|
|
87
|
+
UIUtils.popup.dismiss();
|
|
88
|
+
logGA?.(GAEvents.deleteChatModalDeleteBtnTap, {
|
|
89
|
+
conversation_id: session.id,
|
|
90
|
+
button: 'cancel'
|
|
91
|
+
});
|
|
92
|
+
}
|
|
85
93
|
}, {
|
|
86
94
|
kind: 'danger',
|
|
87
|
-
label: trans('
|
|
95
|
+
label: trans('delete_session_confirm'),
|
|
88
96
|
weight: 'medium',
|
|
89
|
-
onPress: () =>
|
|
97
|
+
onPress: () => {
|
|
98
|
+
onConfirmRef.current?.();
|
|
99
|
+
logGA?.(GAEvents.deleteChatModalDeleteBtnTap, {
|
|
100
|
+
conversation_id: session.id,
|
|
101
|
+
button: 'delete'
|
|
102
|
+
});
|
|
103
|
+
}
|
|
90
104
|
}]
|
|
91
105
|
}
|
|
92
106
|
});
|
|
@@ -1 +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":";;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,
|
|
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,wBAAwB,CAAC,CAAC;MAC1DD,OAAO,CAAC6B,KAAK,CAACC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZ/B,OAAO,CAAC2B,KAAK,CAACK,SAAS,CAACD,GAAG,CAAC;IAC9B;EACF,CAAC,EAAE,CAAChB,OAAO,CAACS,EAAE,EAAEL,gBAAgB,EAAED,aAAa,EAAEI,YAAY,CAAC,CAAC;EAE/D,MAAMW,aAAa,GAAGxB,YAAY,CAACM,OAAO,CAACmB,KAAK,EAAE,EAAE,CAAC;EACrD,MAAMC,mBAAmB,GAAGlC,KAAK,CAAC,4BAA4B,CAAC;EAC/D,MAAMmC,KAAK,GAAGD,mBAAmB,CAACE,KAAK,CAAC,eAAe,CAAC;EAExD;IAAA;IACE;IACA/B,IAAA,CAACX,UAAU,CAAC2C,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAC,QAAA,eAEvClC,KAAA,CAACZ,MAAM,CAAC+C,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,KAAK,EAAEhD,OAAO,CAACiD,IAAI,CAACC,IAAK;QAAAL,QAAA,GACvDN,KAAK,CAAC,CAAC,CAAC,eAET9B,IAAA,CAACV,MAAM,CAAC+C,IAAI;UAACC,IAAI,EAAC,YAAY;UAACC,KAAK,EAAEhD,OAAO,CAACiD,IAAI,CAACC,IAAK;UAAAL,QAAA,EACrDT;QAAa,CACH,CAAC,EACbG,KAAK,CAAC,CAAC,CAAC;MAAA,CACE;IAAC,CACC;EAAC;AAEtB,CAAC;AAED,OAAO,MAAMY,sBAAsB,GAAGA,CACpCjC,OAA0B,EAC1BkC,KAA6C,KAC1C;EACH,MAAMjC,YAAY,GAAG;IAAEO,OAAO,EAAE;EAAK,CAEpC;EAEDvB,OAAO,CAAC6B,KAAK,CAACqB,IAAI,CAAC;IACjBC,MAAM,EAAE;MACNjB,KAAK,EAAE;QACLxB,IAAI,EAAET,KAAK,CAAC,sBAAsB;MACpC,CAAC;MACDmD,eAAe,EAAE;IACnB,CAAC;IACDC,IAAI,EAAE;MACJC,UAAU,EAAE,KAAK;MACjBC,aAAa,EAAEA,CAAA,kBACbjD,IAAA,CAACQ,aAAa;QAACC,OAAO,EAAEA,OAAQ;QAACC,YAAY,EAAEA;MAAa,CAAE;IAElE,CAAC;IACDwC,OAAO,EAAE;MACPC,IAAI,EAAE,mBAAmB;MACzBC,OAAO,EAAE,CACP;QACEC,IAAI,EAAE,OAAO;QACbC,KAAK,EAAE3D,KAAK,CAAC,uBAAuB,CAAC;QACrC4D,MAAM,EAAE,QAAQ;QAChBC,OAAO,EAAEA,CAAA,KAAM;UACb9D,OAAO,CAAC6B,KAAK,CAACC,OAAO,CAAC,CAAC;UACvBmB,KAAK,GAAG7C,QAAQ,CAAC2D,2BAA2B,EAAE;YAC5CC,eAAe,EAAEjD,OAAO,CAACS,EAAE;YAC3ByC,MAAM,EAAE;UACV,CAAC,CAAC;QACJ;MACF,CAAC,EACD;QACEN,IAAI,EAAE,QAAQ;QACdC,KAAK,EAAE3D,KAAK,CAAC,wBAAwB,CAAC;QACtC4D,MAAM,EAAE,QAAQ;QAChBC,OAAO,EAAEA,CAAA,KAAM;UACb9C,YAAY,CAACO,OAAO,GAAG,CAAC;UACxB0B,KAAK,GAAG7C,QAAQ,CAAC2D,2BAA2B,EAAE;YAC5CC,eAAe,EAAEjD,OAAO,CAACS,EAAE;YAC3ByC,MAAM,EAAE;UACV,CAAC,CAAC;QACJ;MACF,CAAC;IAEL;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMzB,MAAM,GAAG9C,UAAU,CAACwE,MAAM,CAAC;EAC/BzB,SAAS,EAAE;IACT0B,OAAO,EAAErE,aAAa,CAAC,MAAM;EAC/B;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,12 +10,15 @@ import { useSearchSessions } from "../../hooks/session/useSearchSessions.js";
|
|
|
10
10
|
import NewChatButton from "./NewChatButton.js";
|
|
11
11
|
import SearchInput from "./SearchInput.js";
|
|
12
12
|
import SessionList from "./SessionList.js";
|
|
13
|
+
import { SessionLogType } from "../../types/index.js";
|
|
14
|
+
import { GAEvents } from "../../constants/events.js";
|
|
13
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
16
|
const DrawerContent = () => {
|
|
15
17
|
const setSessionId = useSessionStore(state => state.setSessionId);
|
|
16
18
|
const sessionId = useSessionStore(state => state.sessionId);
|
|
17
19
|
const {
|
|
18
|
-
closeDrawer
|
|
20
|
+
closeDrawer,
|
|
21
|
+
logGA
|
|
19
22
|
} = useChatContext();
|
|
20
23
|
const [searchQuery, setSearchQuery] = useState('');
|
|
21
24
|
const [debouncedSearchTerm, setDebouncedSearchTerm] = useState('');
|
|
@@ -29,6 +32,12 @@ const DrawerContent = () => {
|
|
|
29
32
|
debouncedFn.cancel();
|
|
30
33
|
};
|
|
31
34
|
}, [searchQuery]);
|
|
35
|
+
const onSearchCallback = useCallback(isSuccess => {
|
|
36
|
+
logGA(GAEvents.sidebarSearchConversationSend, {
|
|
37
|
+
content: debouncedSearchTerm,
|
|
38
|
+
search_result: isSuccess ? 'yes' : null
|
|
39
|
+
});
|
|
40
|
+
}, [logGA, debouncedSearchTerm]);
|
|
32
41
|
const {
|
|
33
42
|
data,
|
|
34
43
|
isLoading,
|
|
@@ -37,16 +46,19 @@ const DrawerContent = () => {
|
|
|
37
46
|
fetchNextPage,
|
|
38
47
|
hasNextPage,
|
|
39
48
|
isFetchingNextPage
|
|
40
|
-
} = useSearchSessions(true, debouncedSearchTerm);
|
|
49
|
+
} = useSearchSessions(true, debouncedSearchTerm, onSearchCallback);
|
|
41
50
|
const sessions = useMemo(() => {
|
|
42
51
|
return data?.pages.flatMap(page => page?.data || []) || [];
|
|
43
52
|
}, [data]);
|
|
44
53
|
const onPressNewSession = useCallback(() => {
|
|
45
|
-
setSessionId(undefined);
|
|
54
|
+
setSessionId(undefined, SessionLogType.newChatBtn);
|
|
46
55
|
closeDrawer();
|
|
47
|
-
|
|
56
|
+
logGA(GAEvents.newChatCreateBtnTap, {
|
|
57
|
+
button_type: 'sidebar'
|
|
58
|
+
});
|
|
59
|
+
}, [setSessionId, closeDrawer, logGA]);
|
|
48
60
|
const onPressSession = useCallback(item => {
|
|
49
|
-
setSessionId(item.id);
|
|
61
|
+
setSessionId(item.id, SessionLogType.oldChat);
|
|
50
62
|
closeDrawer();
|
|
51
63
|
}, [setSessionId, closeDrawer]);
|
|
52
64
|
const onEndReached = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
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":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzE,SAASC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,SAASC,UAAU,EAAEC,aAAa,QAAQ,eAAe;AACzD,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,eAAe,MAAM,wBAAqB;AACjD,SAASC,cAAc,QAAQ,8BAA2B;AAC1D,SAASC,iBAAiB,QAAQ,0CAAuC;AAEzE,OAAOC,aAAa,MAAM,oBAAiB;AAC3C,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,WAAW,MAAM,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","useEffect","useRef","StyleSheet","Platform","KContainer","KSpacingValue","debounce","useSessionStore","useChatContext","useSearchSessions","NewChatButton","SearchInput","SessionList","SessionLogType","GAEvents","jsx","_jsx","jsxs","_jsxs","DrawerContent","setSessionId","state","sessionId","closeDrawer","logGA","searchQuery","setSearchQuery","debouncedSearchTerm","setDebouncedSearchTerm","debounceRef","value","debouncedFn","current","cancel","onSearchCallback","isSuccess","sidebarSearchConversationSend","content","search_result","data","isLoading","isRefetching","refetch","fetchNextPage","hasNextPage","isFetchingNextPage","sessions","pages","flatMap","page","onPressNewSession","undefined","newChatBtn","newChatCreateBtnTap","button_type","onPressSession","item","id","oldChat","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":[]}
|
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
import { useState, useCallback } from 'react';
|
|
4
4
|
import { useRenameSession } from "../../hooks/session/useRenameSession.js";
|
|
5
5
|
import UIUtils from "../../utils/ui.js";
|
|
6
|
-
import trans from "../../translation/index.js";
|
|
6
|
+
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
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const MAX_LENGTH =
|
|
11
|
+
const MAX_LENGTH = 500;
|
|
12
12
|
const MIN_LENGTH = 1;
|
|
13
|
+
const deepNormalize = str => str.normalize('NFC').replace(/[\u200B-\u200D\uFEFF]/g, '') // zero-width
|
|
14
|
+
.replace(/\u00A0/g, ' ') // NBSP → normal space
|
|
15
|
+
.replace(/\s+/g, ' ') // unify multiple spaces
|
|
16
|
+
.trim();
|
|
13
17
|
const RenameSessionPopup = ({
|
|
14
18
|
session
|
|
15
19
|
}) => {
|
|
16
20
|
const [value, setValue] = useState(session.title);
|
|
17
|
-
const [confirmDisabled, setConfirmDisabled] = useState(true);
|
|
18
21
|
const {
|
|
19
22
|
mutateAsync: renameSession
|
|
20
23
|
} = useRenameSession();
|
|
@@ -22,40 +25,40 @@ const RenameSessionPopup = ({
|
|
|
22
25
|
openDrawer
|
|
23
26
|
} = useChatContext();
|
|
24
27
|
const onChangeText = useCallback(text => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
let cleaned = text.replace(/[\u200B-\u200D\uFEFF]/g, '').replace(/\u00A0/g, ' ');
|
|
29
|
+
cleaned = cleaned.slice(0, MAX_LENGTH);
|
|
30
|
+
setValue(cleaned);
|
|
31
|
+
}, []);
|
|
32
|
+
|
|
33
|
+
// normalized trimmed value used for all logic checks
|
|
34
|
+
const normalized = deepNormalize(value);
|
|
35
|
+
const original = deepNormalize(session.title);
|
|
36
|
+
const visibleLength = value.length;
|
|
37
|
+
const confirmDisabled = normalized.length < MIN_LENGTH || normalized === original || value.length > MAX_LENGTH;
|
|
38
|
+
const counterText = visibleLength === 0 ? `Tối đa ${MAX_LENGTH} ký tự` : `Còn ${MAX_LENGTH - visibleLength}/${MAX_LENGTH} ký tự`;
|
|
30
39
|
const onClear = useCallback(() => {
|
|
31
40
|
setValue('');
|
|
32
|
-
setConfirmDisabled(true);
|
|
33
41
|
}, []);
|
|
34
42
|
const handleConfirm = useCallback(async () => {
|
|
35
|
-
|
|
36
|
-
if (confirmDisabled || !trimmed || trimmed.length < MIN_LENGTH || trimmed.length > MAX_LENGTH || trimmed === session.title.trim()) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
43
|
+
if (confirmDisabled) return;
|
|
39
44
|
try {
|
|
40
45
|
await renameSession({
|
|
41
46
|
sessionId: session.id,
|
|
42
|
-
title:
|
|
47
|
+
title: normalized
|
|
43
48
|
});
|
|
44
49
|
Keyboard.dismiss();
|
|
45
|
-
UIUtils.toast.showSuccess(trans('
|
|
50
|
+
UIUtils.toast.showSuccess(trans('rename_session_success'));
|
|
46
51
|
UIUtils.popup.dismiss();
|
|
47
|
-
setTimeout(() =>
|
|
48
|
-
openDrawer();
|
|
49
|
-
}, 500);
|
|
52
|
+
setTimeout(() => openDrawer(), 500);
|
|
50
53
|
} catch (err) {
|
|
51
54
|
UIUtils.toast.showError(err);
|
|
52
55
|
}
|
|
53
|
-
}, [confirmDisabled,
|
|
56
|
+
}, [confirmDisabled, normalized, session, renameSession, openDrawer]);
|
|
54
57
|
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
55
58
|
children: [/*#__PURE__*/_jsxs(KContainer.View, {
|
|
56
59
|
style: [styles.searchInputWrapper],
|
|
57
60
|
children: [/*#__PURE__*/_jsx(KInput.TextBox, {
|
|
58
|
-
placeholder: trans('
|
|
61
|
+
placeholder: trans('rename_session_placeholder'),
|
|
59
62
|
value: value,
|
|
60
63
|
onChangeText: onChangeText,
|
|
61
64
|
onClear: onClear,
|
|
@@ -69,7 +72,7 @@ const RenameSessionPopup = ({
|
|
|
69
72
|
textAlignVertical: "top"
|
|
70
73
|
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
71
74
|
color: KColors.gray.light,
|
|
72
|
-
children:
|
|
75
|
+
children: counterText
|
|
73
76
|
})]
|
|
74
77
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
75
78
|
style: styles.divider
|
|
@@ -90,7 +93,7 @@ export const openRenameSessionPopup = session => {
|
|
|
90
93
|
UIUtils.popup.open({
|
|
91
94
|
header: {
|
|
92
95
|
title: {
|
|
93
|
-
text: trans('
|
|
96
|
+
text: trans('rename_session_title')
|
|
94
97
|
},
|
|
95
98
|
showCloseButton: true,
|
|
96
99
|
alignment: 'left'
|
|
@@ -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","jsx","_jsx","jsxs","_jsxs","MAX_LENGTH","MIN_LENGTH","deepNormalize","str","normalize","replace","trim","RenameSessionPopup","session","value","setValue","title","mutateAsync","renameSession","openDrawer","onChangeText","text","cleaned","slice","normalized","original","visibleLength","length","confirmDisabled","counterText","onClear","handleConfirm","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","disabled","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,17 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo } from 'react';
|
|
3
|
+
import { useCallback, memo } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
import { KContainer, KInput, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
|
+
import { useChatContext } from "../../context/ChatContext.js";
|
|
7
|
+
import { GAEvents } from "../../constants/events.js";
|
|
6
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
9
|
const SearchInput = /*#__PURE__*/memo(({
|
|
8
10
|
value,
|
|
9
11
|
onChangeText
|
|
10
12
|
}) => {
|
|
13
|
+
const logGA = useChatContext().logGA;
|
|
14
|
+
const onFocus = useCallback(() => {
|
|
15
|
+
logGA(GAEvents.sidebarSearchConversationTap);
|
|
16
|
+
}, [logGA]);
|
|
11
17
|
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
12
18
|
style: styles.searchInputWrapper,
|
|
13
19
|
children: /*#__PURE__*/_jsx(KInput.TextBox, {
|
|
14
|
-
placeholder: 'Tìm kiếm đoạn
|
|
20
|
+
placeholder: 'Tìm kiếm đoạn chat',
|
|
15
21
|
value: value,
|
|
16
22
|
onChangeText: onChangeText,
|
|
17
23
|
searchIconLeftColor: KColors.gray.normal,
|
|
@@ -19,7 +25,8 @@ const SearchInput = /*#__PURE__*/memo(({
|
|
|
19
25
|
border: "entire",
|
|
20
26
|
radius: "borderless",
|
|
21
27
|
withBorder: true,
|
|
22
|
-
height: 40
|
|
28
|
+
height: 40,
|
|
29
|
+
onFocus: onFocus
|
|
23
30
|
})
|
|
24
31
|
});
|
|
25
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","KInput","KColors","KSpacingValue","jsx","_jsx","SearchInput","value","onChangeText","View","style","styles","searchInputWrapper","children","TextBox","placeholder","searchIconLeftColor","gray","normal","returnKeyType","border","radius","withBorder","height","displayName","create","marginHorizontal","marginBottom"],"sourceRoot":"../../../../src","sources":["components/Drawer/SearchInput.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useCallback","memo","StyleSheet","KContainer","KInput","KColors","KSpacingValue","useChatContext","GAEvents","jsx","_jsx","SearchInput","value","onChangeText","logGA","onFocus","sidebarSearchConversationTap","View","style","styles","searchInputWrapper","children","TextBox","placeholder","searchIconLeftColor","gray","normal","returnKeyType","border","radius","withBorder","height","displayName","create","marginHorizontal","marginBottom"],"sourceRoot":"../../../../src","sources":["components/Drawer/SearchInput.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,IAAI,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,cAAc,QAAQ,8BAA2B;AAC1D,SAASC,QAAQ,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOlD,MAAMC,WAAW,gBAAGV,IAAI,CAAmB,CAAC;EAAEW,KAAK;EAAEC;AAAa,CAAC,KAAK;EACtE,MAAMC,KAAK,GAAGP,cAAc,CAAC,CAAC,CAACO,KAAK;EAEpC,MAAMC,OAAO,GAAGf,WAAW,CAAC,MAAM;IAChCc,KAAK,CAACN,QAAQ,CAACQ,4BAA4B,CAAC;EAC9C,CAAC,EAAE,CAACF,KAAK,CAAC,CAAC;EAEX,oBACEJ,IAAA,CAACP,UAAU,CAACc,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,kBAAmB;IAAAC,QAAA,eAChDX,IAAA,CAACN,MAAM,CAACkB,OAAO;MACbC,WAAW,EAAE,oBAAqB;MAClCX,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEA,YAAa;MAC3BW,mBAAmB,EAAEnB,OAAO,CAACoB,IAAI,CAACC,MAAO;MACzCC,aAAa,EAAC,QAAQ;MACtBC,MAAM,EAAC,QAAQ;MACfC,MAAM,EAAC,YAAY;MACnBC,UAAU;MACVC,MAAM,EAAE,EAAG;MACXhB,OAAO,EAAEA;IAAQ,CAClB;EAAC,CACa,CAAC;AAEtB,CAAC,CAAC;AAEFJ,WAAW,CAACqB,WAAW,GAAG,aAAa;AAEvC,MAAMb,MAAM,GAAGjB,UAAU,CAAC+B,MAAM,CAAC;EAC/Bb,kBAAkB,EAAE;IAClBc,gBAAgB,EAAE5B,aAAa,CAAC,MAAM,CAAC;IACvC6B,YAAY,EAAE7B,aAAa,CAAC,SAAS;EACvC;AACF,CAAC,CAAC;AAEF,eAAeK,WAAW","ignoreList":[]}
|
|
@@ -12,11 +12,12 @@ const SessionItem = /*#__PURE__*/memo(({
|
|
|
12
12
|
onPress
|
|
13
13
|
}) => {
|
|
14
14
|
const {
|
|
15
|
-
closeDrawer
|
|
15
|
+
closeDrawer,
|
|
16
|
+
logGA
|
|
16
17
|
} = useChatContext();
|
|
17
18
|
const handlePressOptions = useCallback(() => {
|
|
18
|
-
openSessionOptionsBottomSheet(item, closeDrawer);
|
|
19
|
-
}, [item, closeDrawer]);
|
|
19
|
+
openSessionOptionsBottomSheet(item, closeDrawer, logGA);
|
|
20
|
+
}, [item, closeDrawer, logGA]);
|
|
20
21
|
return (
|
|
21
22
|
/*#__PURE__*/
|
|
22
23
|
// @ts-ignore
|
|
@@ -26,8 +27,8 @@ const SessionItem = /*#__PURE__*/memo(({
|
|
|
26
27
|
style: styles.sessionItemTouchable,
|
|
27
28
|
onPress: () => onPress(item),
|
|
28
29
|
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
29
|
-
typo:
|
|
30
|
-
color: KColors.gray.dark,
|
|
30
|
+
typo: isActive ? 'TextMdMedium' : 'TextMdNormal',
|
|
31
|
+
color: isActive ? KColors.primary.normal : KColors.gray.dark,
|
|
31
32
|
numberOfLines: 1,
|
|
32
33
|
children: item.title
|
|
33
34
|
})
|
|
@@ -50,12 +51,13 @@ const styles = StyleSheet.create({
|
|
|
50
51
|
alignItems: 'center',
|
|
51
52
|
height: 38,
|
|
52
53
|
// paddingVertical: KSpacingValue['0.75rem'],
|
|
53
|
-
|
|
54
|
-
borderRadius: KSpacingValue['0.5rem']
|
|
54
|
+
paddingHorizontal: KSpacingValue['0.5rem']
|
|
55
|
+
// borderRadius: KSpacingValue['0.5rem'],
|
|
55
56
|
// marginVertical: KSpacingValue['0.25rem'],
|
|
56
57
|
},
|
|
57
58
|
sessionItemActive: {
|
|
58
|
-
backgroundColor: KColors.hexToRgba(KColors.primary.normal, 0.1)
|
|
59
|
+
backgroundColor: KColors.hexToRgba(KColors.primary.normal, 0.1),
|
|
60
|
+
borderRadius: KSpacingValue['0.5rem']
|
|
59
61
|
},
|
|
60
62
|
sessionItemTouchable: {
|
|
61
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","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":[]}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import { StyleSheet } from 'react-native';
|
|
4
4
|
import { KContainer, KLabel, KColors, KSpacingValue, KImage } from '@droppii/libs';
|
|
5
5
|
import UIUtils from "../../utils/ui.js";
|
|
6
|
-
import trans from "../../translation/index.js";
|
|
6
|
+
import { trans } from "../../translation/index.js";
|
|
7
7
|
import { openRenameSessionPopup } from "./RenameSessionPopup.js";
|
|
8
8
|
import { openShareSessionPopup } from "./ShareSessionPopup.js";
|
|
9
9
|
import { openDeleteSessionPopup } from "./DeleteSessionPopup.js";
|
|
10
|
+
import { GAEvents } from "../../constants/events.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const OptionItem = ({
|
|
12
13
|
icon,
|
|
@@ -34,7 +35,7 @@ const OptionItem = ({
|
|
|
34
35
|
})
|
|
35
36
|
);
|
|
36
37
|
};
|
|
37
|
-
export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
|
|
38
|
+
export const openSessionOptionsBottomSheet = (session, closeDrawer, logGA) => {
|
|
38
39
|
const handleRename = () => {
|
|
39
40
|
UIUtils.bottomSheet.dismiss();
|
|
40
41
|
// Close drawer first, then open popup
|
|
@@ -42,6 +43,9 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
|
|
|
42
43
|
setTimeout(() => {
|
|
43
44
|
openRenameSessionPopup(session);
|
|
44
45
|
}, 300);
|
|
46
|
+
logGA?.(GAEvents.chatDetailRenameBtnTap, {
|
|
47
|
+
conversation_id: session?.id
|
|
48
|
+
});
|
|
45
49
|
};
|
|
46
50
|
const handleShare = () => {
|
|
47
51
|
UIUtils.bottomSheet.dismiss();
|
|
@@ -50,13 +54,16 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
|
|
|
50
54
|
setTimeout(() => {
|
|
51
55
|
openShareSessionPopup(session);
|
|
52
56
|
}, 300);
|
|
57
|
+
logGA?.(GAEvents.chatDetailShareBtnTap, {
|
|
58
|
+
conversation_id: session?.id
|
|
59
|
+
});
|
|
53
60
|
};
|
|
54
61
|
const handleDelete = () => {
|
|
55
62
|
UIUtils.bottomSheet.dismiss();
|
|
56
63
|
// Close drawer first, then open popup
|
|
57
64
|
closeDrawer?.();
|
|
58
65
|
setTimeout(() => {
|
|
59
|
-
openDeleteSessionPopup(session);
|
|
66
|
+
openDeleteSessionPopup(session, logGA);
|
|
60
67
|
}, 300);
|
|
61
68
|
};
|
|
62
69
|
const OptionsContent = () => {
|
|
@@ -67,19 +74,19 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
|
|
|
67
74
|
style: styles.container,
|
|
68
75
|
children: [/*#__PURE__*/_jsx(OptionItem, {
|
|
69
76
|
icon: "edit-o",
|
|
70
|
-
label: trans('
|
|
77
|
+
label: trans('session_rename'),
|
|
71
78
|
onPress: handleRename
|
|
72
79
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
73
80
|
style: styles.divider
|
|
74
81
|
}), /*#__PURE__*/_jsx(OptionItem, {
|
|
75
|
-
icon: "share-o",
|
|
76
|
-
label: trans('
|
|
82
|
+
icon: "share-glob-o",
|
|
83
|
+
label: trans('session_share'),
|
|
77
84
|
onPress: handleShare
|
|
78
85
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
79
86
|
style: styles.divider
|
|
80
87
|
}), /*#__PURE__*/_jsx(OptionItem, {
|
|
81
88
|
icon: "trash-alt-o-1",
|
|
82
|
-
label: trans('
|
|
89
|
+
label: trans('session_delete'),
|
|
83
90
|
onPress: handleDelete,
|
|
84
91
|
isDanger: true
|
|
85
92
|
})]
|
|
@@ -89,9 +96,10 @@ export const openSessionOptionsBottomSheet = (session, closeDrawer) => {
|
|
|
89
96
|
UIUtils.bottomSheet.open({
|
|
90
97
|
header: {
|
|
91
98
|
title: {
|
|
92
|
-
text: trans('
|
|
99
|
+
text: trans('session_options_title')
|
|
93
100
|
},
|
|
94
|
-
showCloseButton: true
|
|
101
|
+
showCloseButton: true,
|
|
102
|
+
alignment: 'left'
|
|
95
103
|
},
|
|
96
104
|
body: {
|
|
97
105
|
renderContent: () => /*#__PURE__*/_jsx(OptionsContent, {})
|
|
@@ -1 +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":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,MAAM,QACD,eAAe;AACtB,OAAOC,OAAO,MAAM,mBAAgB;AACpC,
|
|
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","chatDetailRenameBtnTap","conversation_id","id","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":[]}
|