react-native-chatbot-ai 0.1.18 → 0.1.19
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/SessionList.js +5 -2
- package/lib/module/components/Drawer/SessionList.js.map +1 -1
- package/lib/module/hooks/session/useSearchSessions.js +29 -2
- package/lib/module/hooks/session/useSearchSessions.js.map +1 -1
- package/lib/module/translation/index.js +17 -17
- package/lib/module/translation/index.js.map +1 -1
- package/lib/typescript/src/components/Drawer/SessionList.d.ts.map +1 -1
- package/lib/typescript/src/hooks/session/useSearchSessions.d.ts.map +1 -1
- package/lib/typescript/src/translation/index.d.ts +0 -1
- package/lib/typescript/src/translation/index.d.ts.map +1 -1
- package/lib/typescript/src/types/ui.d.ts +1 -0
- package/lib/typescript/src/types/ui.d.ts.map +1 -1
- package/lib/typescript/src/utils/ui.d.ts +1 -0
- package/lib/typescript/src/utils/ui.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/Drawer/SessionList.tsx +2 -0
- package/src/hooks/session/useSearchSessions.ts +32 -2
- package/src/translation/index.ts +12 -12
|
@@ -28,12 +28,15 @@ const SessionList = /*#__PURE__*/memo(({
|
|
|
28
28
|
onPress: onPressSession
|
|
29
29
|
}), [onPressSession]);
|
|
30
30
|
const keyExtractor = useCallback(item => item.id, []);
|
|
31
|
-
return /*#__PURE__*/_jsx(FlashList, {
|
|
31
|
+
return /*#__PURE__*/ /* @ts-expect-error - FlashList type issue */_jsx(FlashList, {
|
|
32
32
|
data: sessions,
|
|
33
33
|
renderItem: renderItem,
|
|
34
34
|
keyExtractor: keyExtractor,
|
|
35
35
|
contentContainerStyle: styles.listContainer,
|
|
36
|
-
refreshControl:
|
|
36
|
+
refreshControl:
|
|
37
|
+
/*#__PURE__*/
|
|
38
|
+
/* @ts-expect-error - React Native RefreshControl type issue */
|
|
39
|
+
_jsx(RefreshControl, {
|
|
37
40
|
refreshing: isRefetching,
|
|
38
41
|
onRefresh: onRefresh
|
|
39
42
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","StyleSheet","RefreshControl","FlashList","KSpacingValue","SessionItem","EmptyState","KContainer","jsx","_jsx","ItemSeparator","View","height","SessionList","sessions","activeSessionId","_activeSessionId","isLoading","isRefetching","onPressSession","onRefresh","onEndReached","renderItem","item","isActive","onPress","keyExtractor","id","data","contentContainerStyle","styles","listContainer","refreshControl","refreshing","onEndReachedThreshold","ItemSeparatorComponent","estimatedItemSize","ListEmptyComponent","displayName","create","flexGrow","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionList.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AACzD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,aAAa,QAAQ,eAAe;AAE7C,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,UAAU,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,aAAa,GAAGA,CAAA,kBAAMD,IAAA,CAACF,UAAU,CAACI,IAAI;EAACC,MAAM,EAAE;AAAE,CAAE,CAAC;AAc1D,MAAMC,WAAW,gBAAGd,IAAI,CACtB,CAAC;EACCe,QAAQ;EACRC,eAAe,EAAEC,gBAAgB;EACjCC,SAAS;EACTC,YAAY;EACZC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGtB,WAAW,CAC5B,CAAC;IAAEuB;EAAkC,CAAC,kBACpCd,IAAA,CAACJ,WAAW;IAACkB,IAAI,EAAEA,IAAK;IAACC,QAAQ,EAAE,KAAM;IAACC,OAAO,EAAEN;EAAe,CAAE,CACrE,EACD,CAACA,cAAc,CACjB,CAAC;EAED,MAAMO,YAAY,GAAG1B,WAAW,CAAEuB,IAAuB,IAAKA,IAAI,CAACI,EAAE,EAAE,EAAE,CAAC;EAE1E,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","RefreshControl","FlashList","KSpacingValue","SessionItem","EmptyState","KContainer","jsx","_jsx","ItemSeparator","View","height","SessionList","sessions","activeSessionId","_activeSessionId","isLoading","isRefetching","onPressSession","onRefresh","onEndReached","renderItem","item","isActive","onPress","keyExtractor","id","data","contentContainerStyle","styles","listContainer","refreshControl","refreshing","onEndReachedThreshold","ItemSeparatorComponent","estimatedItemSize","ListEmptyComponent","displayName","create","flexGrow","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["components/Drawer/SessionList.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AACzD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,aAAa,QAAQ,eAAe;AAE7C,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,UAAU,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,aAAa,GAAGA,CAAA,kBAAMD,IAAA,CAACF,UAAU,CAACI,IAAI;EAACC,MAAM,EAAE;AAAE,CAAE,CAAC;AAc1D,MAAMC,WAAW,gBAAGd,IAAI,CACtB,CAAC;EACCe,QAAQ;EACRC,eAAe,EAAEC,gBAAgB;EACjCC,SAAS;EACTC,YAAY;EACZC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGtB,WAAW,CAC5B,CAAC;IAAEuB;EAAkC,CAAC,kBACpCd,IAAA,CAACJ,WAAW;IAACkB,IAAI,EAAEA,IAAK;IAACC,QAAQ,EAAE,KAAM;IAACC,OAAO,EAAEN;EAAe,CAAE,CACrE,EACD,CAACA,cAAc,CACjB,CAAC;EAED,MAAMO,YAAY,GAAG1B,WAAW,CAAEuB,IAAuB,IAAKA,IAAI,CAACI,EAAE,EAAE,EAAE,CAAC;EAE1E,qBACE,6CACAlB,IAAA,CAACN,SAAS;IACRyB,IAAI,EAAEd,QAAS;IACfQ,UAAU,EAAEA,UAAW;IACvBI,YAAY,EAAEA,YAAa;IAC3BG,qBAAqB,EAAEC,MAAM,CAACC,aAAc;IAC5CC,cAAc;IAAA;IACZ;IACAvB,IAAA,CAACP,cAAc;MAAC+B,UAAU,EAAEf,YAAa;MAACE,SAAS,EAAEA;IAAU,CAAE,CAClE;IACDC,YAAY,EAAEA,YAAa;IAC3Ba,qBAAqB,EAAE,GAAI;IAC3BC,sBAAsB,EAAEzB,aAAc;IACtC0B,iBAAiB,EAAE,EAAG;IACtBC,kBAAkB,EAAE,CAACpB,SAAS,gBAAGR,IAAA,CAACH,UAAU,IAAE,CAAC,GAAG;EAAK,CACxD,CAAC;AAEN,CACF,CAAC;AAEDO,WAAW,CAACyB,WAAW,GAAG,aAAa;AAEvC,MAAMR,MAAM,GAAG7B,UAAU,CAACsC,MAAM,CAAC;EAC/BR,aAAa,EAAE;IACbS,QAAQ,EAAE,CAAC;IACXC,iBAAiB,EAAErC,aAAa,CAAC,MAAM;EACzC;AACF,CAAC,CAAC;AAEF,eAAeS,WAAW","ignoreList":[]}
|
|
@@ -20,10 +20,37 @@ export const useSearchSessions = (enabled = true, searchTerm) => {
|
|
|
20
20
|
search_term: searchTerm.trim()
|
|
21
21
|
})
|
|
22
22
|
});
|
|
23
|
-
|
|
23
|
+
const response = res?.data;
|
|
24
|
+
|
|
25
|
+
// Validate response structure
|
|
26
|
+
if (!response) {
|
|
27
|
+
throw new Error('No response received from API');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Check for successful response: HTTP status 200 and API statusCode 0
|
|
31
|
+
if (res?.status !== 200 || response?.statusCode !== 0) {
|
|
32
|
+
return {
|
|
33
|
+
...response,
|
|
34
|
+
data: []
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Ensure data is an array
|
|
39
|
+
if (!Array.isArray(response?.data)) {
|
|
40
|
+
// If data is not an array, return empty array to prevent crashes
|
|
41
|
+
return {
|
|
42
|
+
...response,
|
|
43
|
+
data: []
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return response;
|
|
24
47
|
},
|
|
25
48
|
getNextPageParam: (lastPage, allPages) => {
|
|
26
|
-
|
|
49
|
+
// Validate that data exists and is an array
|
|
50
|
+
if (!lastPage || !Array.isArray(lastPage.data)) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
const currentData = lastPage.data;
|
|
27
54
|
if (currentData.length < LIMIT) {
|
|
28
55
|
return undefined;
|
|
29
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useInfiniteQuery","useCallback","QUERY_KEYS","apiInstance","ENDPOINTS","LIMIT","useSearchSessions","enabled","searchTerm","queryKey","SEARCH_SESSIONS","query","queryFn","pageParam","res","post","assistantService","searchSessions","limit","offset","trim","search_term","data","getNextPageParam","lastPage","allPages","
|
|
1
|
+
{"version":3,"names":["useInfiniteQuery","useCallback","QUERY_KEYS","apiInstance","ENDPOINTS","LIMIT","useSearchSessions","enabled","searchTerm","queryKey","SEARCH_SESSIONS","query","queryFn","pageParam","res","post","assistantService","searchSessions","limit","offset","trim","search_term","response","data","Error","status","statusCode","Array","isArray","getNextPageParam","lastPage","allPages","undefined","currentData","length","initialPageParam","staleTime","refetchPageOne","refetch","refetchPage","_page","index"],"sourceRoot":"../../../../src","sources":["hooks/session/useSearchSessions.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,SAAS,QAAQ,6BAA0B;AAIpD,MAAMC,KAAK,GAAG,EAAE;AAEhB,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,OAAgB,GAAG,IAAI,EACvBC,UAAmB,KAChB;EACH,MAAMC,QAAQ,GAAG,CAACP,UAAU,CAACQ,eAAe,EAAEF,UAAU,CAAC;EAEzD,MAAMG,KAAK,GAAGX,gBAAgB,CAAC;IAC7BS,QAAQ;IACRG,OAAO,EAAE,MAAAA,CAAO;MAAEC,SAAS,GAAG;IAAyB,CAAC,KAAK;MAC3D,MAAMC,GAAG,GAAG,MAAMX,WAAW,EAAEY,IAAI,CACjCX,SAAS,CAACY,gBAAgB,CAACC,cAAc,EACzC;QACEC,KAAK,EAAEb,KAAK;QACZc,MAAM,EAAEN,SAAS;QACjB,IAAIL,UAAU,EAAEY,IAAI,CAAC,CAAC,IAAI;UAAEC,WAAW,EAAEb,UAAU,CAACY,IAAI,CAAC;QAAE,CAAC;MAC9D,CACF,CAAC;MAED,MAAME,QAAQ,GAAGR,GAAG,EAAES,IAAI;;MAE1B;MACA,IAAI,CAACD,QAAQ,EAAE;QACb,MAAM,IAAIE,KAAK,CAAC,+BAA+B,CAAC;MAClD;;MAEA;MACA,IAAIV,GAAG,EAAEW,MAAM,KAAK,GAAG,IAAIH,QAAQ,EAAEI,UAAU,KAAK,CAAC,EAAE;QACrD,OAAO;UACL,GAAGJ,QAAQ;UACXC,IAAI,EAAE;QACR,CAAC;MACH;;MAEA;MACA,IAAI,CAACI,KAAK,CAACC,OAAO,CAACN,QAAQ,EAAEC,IAAI,CAAC,EAAE;QAClC;QACA,OAAO;UACL,GAAGD,QAAQ;UACXC,IAAI,EAAE;QACR,CAAC;MACH;MAEA,OAAOD,QAAQ;IACjB,CAAC;IACDO,gBAAgB,EAAEA,CAChBC,QAA8C,EAC9CC,QAAgD,KAC7C;MACH;MACA,IAAI,CAACD,QAAQ,IAAI,CAACH,KAAK,CAACC,OAAO,CAACE,QAAQ,CAACP,IAAI,CAAC,EAAE;QAC9C,OAAOS,SAAS;MAClB;MAEA,MAAMC,WAAW,GAAGH,QAAQ,CAACP,IAAI;MACjC,IAAIU,WAAW,CAACC,MAAM,GAAG7B,KAAK,EAAE;QAC9B,OAAO2B,SAAS;MAClB;MACA,OAAOD,QAAQ,CAACG,MAAM,GAAG7B,KAAK;IAChC,CAAC;IACD8B,gBAAgB,EAAE,CAAC;IACnB5B,OAAO,EAAE,CAAC,CAACJ,WAAW,IAAII,OAAO;IACjC6B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAE;EAC5B,CAAC,CAAC;;EAEF;EACA,MAAMC,cAAc,GAAGpC,WAAW,CAAC,YAAY;IAC7C;IACA;IACA;IACA,OAAOU,KAAK,CAAC2B,OAAO,CAAC;MACnBC,WAAW,EAAEA,CACXC,KAA2C,EAC3CC,KAAa,KACVA,KAAK,KAAK;IACjB,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC9B,KAAK,CAAC,CAAC;EAEX,OAAO;IACL,GAAGA,KAAK;IACR2B,OAAO,EAAED;EACX,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import 'intl-pluralrules';
|
|
4
3
|
import i18n from 'i18next';
|
|
5
4
|
import { initReactI18next } from 'react-i18next';
|
|
6
5
|
import vi from "./resources/vi.js";
|
|
7
|
-
i18n.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
6
|
+
if (!i18n.isInitialized) {
|
|
7
|
+
i18n.use(initReactI18next).init({
|
|
8
|
+
resources: {
|
|
9
|
+
vi: {
|
|
10
|
+
chatbot: vi
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
lng: 'vi',
|
|
14
|
+
// default
|
|
15
|
+
fallbackLng: 'vi',
|
|
16
|
+
interpolation: {
|
|
17
|
+
escapeValue: false
|
|
18
|
+
},
|
|
19
|
+
ns: ['chatbot'],
|
|
20
|
+
defaultNS: 'chatbot'
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
23
|
|
|
24
24
|
//@ts-ignore
|
|
25
25
|
const trans = (...args) => i18n.t(...args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["i18n","initReactI18next","vi","
|
|
1
|
+
{"version":3,"names":["i18n","initReactI18next","vi","isInitialized","use","init","resources","chatbot","lng","fallbackLng","interpolation","escapeValue","ns","defaultNS","trans","args","t"],"sourceRoot":"../../../src","sources":["translation/index.ts"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,EAAE,MAAM,mBAAgB;AAE/B,IAAI,CAACF,IAAI,CAACG,aAAa,EAAE;EACvBH,IAAI,CAACI,GAAG,CAACH,gBAAgB,CAAC,CAACI,IAAI,CAAC;IAC9BC,SAAS,EAAE;MACTJ,EAAE,EAAE;QAAEK,OAAO,EAAEL;MAAG;IACpB,CAAC;IACDM,GAAG,EAAE,IAAI;IAAE;IACXC,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE;MAAEC,WAAW,EAAE;IAAM,CAAC;IACrCC,EAAE,EAAE,CAAC,SAAS,CAAC;IACfC,SAAS,EAAE;EACb,CAAC,CAAC;AACJ;;AAEA;AACA,MAAMC,KAAK,GAAGA,CAAC,GAAGC,IAAI,KAAKf,IAAI,CAACgB,CAAC,CAAC,GAAGD,IAAI,CAAQ;AAEjD,SAASf,IAAI;AACb,eAAec,KAAK","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionList.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SessionList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOpD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"SessionList.d.ts","sourceRoot":"","sources":["../../../../../src/components/Drawer/SessionList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOpD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,WAAW,wDAsChB,CAAC;AAWF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchSessions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/session/useSearchSessions.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,GAC5B,UAAS,OAAc,EACvB,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"useSearchSessions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/session/useSearchSessions.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,GAC5B,UAAS,OAAc,EACvB,aAAa,MAAM,QA+EpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/translation/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/translation/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAkB3B,QAAA,MAAM,KAAK,GAAI,GAAG,WAAI,KAAwB,GAAG,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/types/ui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/types/ui.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAEJ,OAAO,EAAE,cAAc,GAAG;QAAE,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KACvE,IAAI,CAAC;IACV,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,cAAM,OAAO;IACX,KAAK;uBAGO,cAAc,GAAG;YAAE,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;SAAE;;2BAOxD,GAAG;MAWtB;CACH;;AAED,wBAA6B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-chatbot-ai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "React Native library for Chatbot AI",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -80,10 +80,11 @@
|
|
|
80
80
|
"eslint": "^9.35.0",
|
|
81
81
|
"eslint-config-prettier": "^10.1.8",
|
|
82
82
|
"eslint-plugin-prettier": "^5.5.4",
|
|
83
|
+
"i18next": "^25.6.1",
|
|
83
84
|
"jest": "^29.7.0",
|
|
84
85
|
"lodash": "^4.17.21",
|
|
85
86
|
"prettier": "^3.6.2",
|
|
86
|
-
"react-i18next": "16.
|
|
87
|
+
"react-i18next": "^16.2.4",
|
|
87
88
|
"react-native-builder-bob": "^0.40.13",
|
|
88
89
|
"react-native-file-viewer": "^2.1.5",
|
|
89
90
|
"react-native-image-crop-picker": "^0.51.1",
|
|
@@ -174,7 +175,6 @@
|
|
|
174
175
|
"@babel/runtime": "^7.28.4",
|
|
175
176
|
"axios": "^1.12.2",
|
|
176
177
|
"dayjs": "^1.11.18",
|
|
177
|
-
"intl-pluralrules": "^2.0.1",
|
|
178
178
|
"lodash": "^4.17.21",
|
|
179
179
|
"react-native-marked": "^7.0.2",
|
|
180
180
|
"react-native-skeleton-placeholder": "^5.2.4",
|
|
@@ -41,12 +41,14 @@ const SessionList = memo<SessionListProps>(
|
|
|
41
41
|
const keyExtractor = useCallback((item: SessionSearchItem) => item.id, []);
|
|
42
42
|
|
|
43
43
|
return (
|
|
44
|
+
/* @ts-expect-error - FlashList type issue */
|
|
44
45
|
<FlashList
|
|
45
46
|
data={sessions}
|
|
46
47
|
renderItem={renderItem}
|
|
47
48
|
keyExtractor={keyExtractor}
|
|
48
49
|
contentContainerStyle={styles.listContainer}
|
|
49
50
|
refreshControl={
|
|
51
|
+
/* @ts-expect-error - React Native RefreshControl type issue */
|
|
50
52
|
<RefreshControl refreshing={isRefetching} onRefresh={onRefresh} />
|
|
51
53
|
}
|
|
52
54
|
onEndReached={onEndReached}
|
|
@@ -25,13 +25,43 @@ export const useSearchSessions = (
|
|
|
25
25
|
...(searchTerm?.trim() && { search_term: searchTerm.trim() }),
|
|
26
26
|
}
|
|
27
27
|
);
|
|
28
|
-
|
|
28
|
+
|
|
29
|
+
const response = res?.data;
|
|
30
|
+
|
|
31
|
+
// Validate response structure
|
|
32
|
+
if (!response) {
|
|
33
|
+
throw new Error('No response received from API');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Check for successful response: HTTP status 200 and API statusCode 0
|
|
37
|
+
if (res?.status !== 200 || response?.statusCode !== 0) {
|
|
38
|
+
return {
|
|
39
|
+
...response,
|
|
40
|
+
data: [],
|
|
41
|
+
} as BaseResponse<SearchSessionsResponse>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Ensure data is an array
|
|
45
|
+
if (!Array.isArray(response?.data)) {
|
|
46
|
+
// If data is not an array, return empty array to prevent crashes
|
|
47
|
+
return {
|
|
48
|
+
...response,
|
|
49
|
+
data: [],
|
|
50
|
+
} as BaseResponse<SearchSessionsResponse>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return response as BaseResponse<SearchSessionsResponse>;
|
|
29
54
|
},
|
|
30
55
|
getNextPageParam: (
|
|
31
56
|
lastPage: BaseResponse<SearchSessionsResponse>,
|
|
32
57
|
allPages: BaseResponse<SearchSessionsResponse>[]
|
|
33
58
|
) => {
|
|
34
|
-
|
|
59
|
+
// Validate that data exists and is an array
|
|
60
|
+
if (!lastPage || !Array.isArray(lastPage.data)) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const currentData = lastPage.data;
|
|
35
65
|
if (currentData.length < LIMIT) {
|
|
36
66
|
return undefined;
|
|
37
67
|
}
|
package/src/translation/index.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import 'intl-pluralrules'
|
|
2
1
|
import i18n from 'i18next';
|
|
3
2
|
import { initReactI18next } from 'react-i18next';
|
|
4
3
|
import vi from './resources/vi';
|
|
5
4
|
|
|
6
|
-
i18n.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
});
|
|
5
|
+
if (!i18n.isInitialized) {
|
|
6
|
+
i18n.use(initReactI18next).init({
|
|
7
|
+
resources: {
|
|
8
|
+
vi: { chatbot: vi },
|
|
9
|
+
},
|
|
10
|
+
lng: 'vi', // default
|
|
11
|
+
fallbackLng: 'vi',
|
|
12
|
+
interpolation: { escapeValue: false },
|
|
13
|
+
ns: ['chatbot'],
|
|
14
|
+
defaultNS: 'chatbot',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
17
|
|
|
18
18
|
//@ts-ignore
|
|
19
19
|
const trans = (...args) => i18n.t(...args) as any;
|