react-native-chatbot-ai 0.1.9 → 0.1.11
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/chat/ChatEmpty.js +8 -7
- package/lib/module/components/chat/ChatEmpty.js.map +1 -1
- package/lib/module/utils/device.js +3 -5
- package/lib/module/utils/device.js.map +1 -1
- package/lib/typescript/src/components/chat/ChatEmpty.d.ts.map +1 -1
- package/lib/typescript/src/utils/device.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/ChatEmpty.tsx +8 -2
- package/src/utils/device.ts +9 -16
|
@@ -18,7 +18,13 @@ const ChatEmpty = () => {
|
|
|
18
18
|
onSendMessage(item.content);
|
|
19
19
|
}, 200);
|
|
20
20
|
return /*#__PURE__*/_jsxs(KContainer.ScrollView, {
|
|
21
|
-
contentContainerStyle: styles.container,
|
|
21
|
+
contentContainerStyle: [styles.container, {
|
|
22
|
+
transform: [Platform.OS === 'android' ? {
|
|
23
|
+
scale: -1
|
|
24
|
+
} : {
|
|
25
|
+
scaleY: -1
|
|
26
|
+
}]
|
|
27
|
+
}],
|
|
22
28
|
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
23
29
|
typo: "TextXLgMedium",
|
|
24
30
|
center: true,
|
|
@@ -54,12 +60,7 @@ const styles = StyleSheet.create({
|
|
|
54
60
|
justifyContent: 'center',
|
|
55
61
|
alignItems: 'center',
|
|
56
62
|
padding: KSpacingValue['0.75rem'],
|
|
57
|
-
gap: KSpacingValue['0.5rem']
|
|
58
|
-
transform: [Platform.OS === 'android' ? {
|
|
59
|
-
scale: -1
|
|
60
|
-
} : {
|
|
61
|
-
scaleY: -1
|
|
62
|
-
}]
|
|
63
|
+
gap: KSpacingValue['0.5rem']
|
|
63
64
|
}
|
|
64
65
|
});
|
|
65
66
|
//# sourceMappingURL=ChatEmpty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KColors","KContainer","KLabel","KSpacingValue","StyleSheet","Platform","useFetchSuggestions","SuggestionItem","useSendMessage","debounce","jsx","_jsx","jsxs","_jsxs","ChatEmpty","data","onSendMessage","onPress","item","content","ScrollView","contentContainerStyle","styles","container","children","Text","typo","center","View","color","gray","normal","suggestions","map","onPressItem","suggestion_id","light","textAlign","create","flexGrow","justifyContent","alignItems","padding","gap"
|
|
1
|
+
{"version":3,"names":["KColors","KContainer","KLabel","KSpacingValue","StyleSheet","Platform","useFetchSuggestions","SuggestionItem","useSendMessage","debounce","jsx","_jsx","jsxs","_jsxs","ChatEmpty","data","onSendMessage","onPress","item","content","ScrollView","contentContainerStyle","styles","container","transform","OS","scale","scaleY","children","Text","typo","center","View","color","gray","normal","suggestions","map","onPressItem","suggestion_id","light","textAlign","create","flexGrow","justifyContent","alignItems","padding","gap"],"sourceRoot":"../../../../src","sources":["components/chat/ChatEmpty.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,aAAa,QAAQ,eAAe;AAC1E,SAASC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,SAASC,mBAAmB,QAAQ,gDAA6C;AACjF,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,SAASC,cAAc,QAAQ,uCAAoC;AACnE,OAAOC,QAAQ,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGvC,MAAMC,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAK,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACtC,MAAM;IAAEU;EAAc,CAAC,GAAGR,cAAc,CAAC,CAAC;EAE1C,MAAMS,OAAO,GAAGR,QAAQ,CAAES,IAAqB,IAAK;IAClDF,aAAa,CAACE,IAAI,CAACC,OAAO,CAAC;EAC7B,CAAC,EAAE,GAAG,CAAC;EAEP,oBACEN,KAAA,CAACZ,UAAU,CAACmB,UAAU;IACpBC,qBAAqB,EAAE,CACrBC,MAAM,CAACC,SAAS,EAChB;MACEC,SAAS,EAAE,CAACnB,QAAQ,CAACoB,EAAE,KAAK,SAAS,GAAG;QAAEC,KAAK,EAAE,CAAC;MAAE,CAAC,GAAG;QAAEC,MAAM,EAAE,CAAC;MAAE,CAAC;IACxE,CAAC,CACD;IAAAC,QAAA,gBAEFjB,IAAA,CAACT,MAAM,CAAC2B,IAAI;MAACC,IAAI,EAAC,eAAe;MAACC,MAAM;MAAAH,QAAA,EACrC;IAA4B,CAClB,CAAC,eACdf,KAAA,CAACZ,UAAU,CAAC+B,IAAI;MAACD,MAAM;MAAAH,QAAA,gBACrBjB,IAAA,CAACT,MAAM,CAAC2B,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAEjC,OAAO,CAACkC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChE;MAA8C,CACpC,CAAC,eACdjB,IAAA,CAACT,MAAM,CAAC2B,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,MAAM;QAACE,KAAK,EAAEjC,OAAO,CAACkC,IAAI,CAACC,MAAO;QAAAP,QAAA,EAChE;MAA2B,CACjB,CAAC;IAAA,CACC,CAAC,EACjBb,IAAI,EAAEqB,WAAW,EAAEC,GAAG,CAAEnB,IAAqB,iBAC5CP,IAAA,CAACJ,cAAc;MAEbW,IAAI,EAAEA,IAAK;MACXoB,WAAW,EAAErB;IAAQ,GAFhBC,IAAI,CAACqB,aAGX,CACF,CAAC,eACF5B,IAAA,CAACT,MAAM,CAAC2B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBG,KAAK,EAAEjC,OAAO,CAACkC,IAAI,CAACM,KAAM;MAC1BC,SAAS,EAAC,QAAQ;MAAAb,QAAA,EAGhB;IAAgG,CAEvF,CAAC;EAAA,CACO,CAAC;AAE5B,CAAC;AAED,eAAed,SAAS;AAExB,MAAMQ,MAAM,GAAGlB,UAAU,CAACsC,MAAM,CAAC;EAC/BnB,SAAS,EAAE;IACToB,QAAQ,EAAE,CAAC;IACXC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE3C,aAAa,CAAC,SAAS,CAAC;IACjC4C,GAAG,EAAE5C,aAAa,CAAC,QAAQ;EAC7B;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,8 +5,6 @@ import UIUtils from "../utils/ui.js";
|
|
|
5
5
|
import { Platform, PermissionsAndroid } from 'react-native';
|
|
6
6
|
import { openCamera, openPicker } from 'react-native-image-crop-picker';
|
|
7
7
|
import { check, PERMISSIONS, request } from 'react-native-permissions';
|
|
8
|
-
// const READ_MEDIA_IMAGES = 'android.permission.READ_MEDIA_IMAGES';
|
|
9
|
-
|
|
10
8
|
const pickerOptions = {
|
|
11
9
|
writeTempFile: true,
|
|
12
10
|
mediaType: 'photo',
|
|
@@ -26,7 +24,7 @@ const pickerOptions = {
|
|
|
26
24
|
const requestPermission = async (perm, requestMessage, disableToast = false) => {
|
|
27
25
|
try {
|
|
28
26
|
//handle android function check can't return status code blocked
|
|
29
|
-
let granted = Platform.OS === 'android' ?
|
|
27
|
+
let granted = Platform.OS === 'android' ? await request(perm) : await check(perm);
|
|
30
28
|
if (granted === 'unavailable') {
|
|
31
29
|
UIUtils.toast.open({
|
|
32
30
|
title: 'Tính năng hiện tại không khả dụng, vui lòng thử lại sau'
|
|
@@ -60,9 +58,9 @@ const requestPermission = async (perm, requestMessage, disableToast = false) =>
|
|
|
60
58
|
const requestReadPhotoPermission = async (disableToast = false) => {
|
|
61
59
|
const perm = Platform.select({
|
|
62
60
|
ios: PERMISSIONS.IOS.PHOTO_LIBRARY,
|
|
63
|
-
default:
|
|
61
|
+
default: PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE
|
|
64
62
|
});
|
|
65
|
-
return requestPermission(perm, 'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này', disableToast);
|
|
63
|
+
return Platform.Version >= 33 ? true : requestPermission(perm, 'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này', disableToast);
|
|
66
64
|
};
|
|
67
65
|
const requestCameraPermission = async () => {
|
|
68
66
|
const perm = Platform.select({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","
|
|
1
|
+
{"version":3,"names":["pick","UIUtils","Platform","PermissionsAndroid","openCamera","openPicker","check","PERMISSIONS","request","pickerOptions","writeTempFile","mediaType","compressImageQuality","width","height","compressImageMaxHeight","compressImageMaxWidth","cropping","cropperCircleOverlay","waitAnimationEnd","includeExif","forceJpg","cropperChooseText","cropperCancelText","requestPermission","perm","requestMessage","disableToast","granted","OS","toast","open","title","result","err","requestReadPhotoPermission","select","ios","IOS","PHOTO_LIBRARY","default","READ_EXTERNAL_STORAGE","Version","requestCameraPermission","CAMERA","ANDROID","openImagePicker","options","Promise","resolve","isGranted","Error","value","error","undefined","openImageMultiplePicker","multiple","openCameraPicker","openDocumentPicker","mode"],"sourceRoot":"../../../src","sources":["utils/device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatEmpty.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/ChatEmpty.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,SAAS,+
|
|
1
|
+
{"version":3,"file":"ChatEmpty.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/ChatEmpty.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,SAAS,+CA8Cd,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/utils/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAQ,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EACL,KAAK,EAGL,OAAO,EACP,aAAa,EACd,MAAM,gCAAgC,CAAC;AAGxC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/utils/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAQ,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EACL,KAAK,EAGL,OAAO,EACP,aAAa,EACd,MAAM,gCAAgC,CAAC;AAGxC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AAiFrE,eAAO,MAAM,eAAe,GAC1B,UAAU,OAAO,KAChB,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAgBhE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,OAAO,KAChB,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAiBlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,OAAO,KAChB,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAiBhE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,UAAU,qBAAqB,yFAUvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -15,7 +15,14 @@ const ChatEmpty = () => {
|
|
|
15
15
|
}, 200);
|
|
16
16
|
|
|
17
17
|
return (
|
|
18
|
-
<KContainer.ScrollView
|
|
18
|
+
<KContainer.ScrollView
|
|
19
|
+
contentContainerStyle={[
|
|
20
|
+
styles.container,
|
|
21
|
+
{
|
|
22
|
+
transform: [Platform.OS === 'android' ? { scale: -1 } : { scaleY: -1 }],
|
|
23
|
+
},
|
|
24
|
+
]}
|
|
25
|
+
>
|
|
19
26
|
<KLabel.Text typo="TextXLgMedium" center>
|
|
20
27
|
{'Bạn cần hỗ trợ gì hôm nay?'}
|
|
21
28
|
</KLabel.Text>
|
|
@@ -56,6 +63,5 @@ const styles = StyleSheet.create({
|
|
|
56
63
|
alignItems: 'center',
|
|
57
64
|
padding: KSpacingValue['0.75rem'],
|
|
58
65
|
gap: KSpacingValue['0.5rem'],
|
|
59
|
-
transform: [Platform.OS === 'android' ? { scale: -1 } : { scaleY: -1 }],
|
|
60
66
|
},
|
|
61
67
|
});
|
package/src/utils/device.ts
CHANGED
|
@@ -12,8 +12,6 @@ import { check, PERMISSIONS, request } from 'react-native-permissions';
|
|
|
12
12
|
|
|
13
13
|
type MediaType<O> = O extends { mediaType: 'photo' } ? Image : never;
|
|
14
14
|
|
|
15
|
-
// const READ_MEDIA_IMAGES = 'android.permission.READ_MEDIA_IMAGES';
|
|
16
|
-
|
|
17
15
|
const pickerOptions = {
|
|
18
16
|
writeTempFile: true,
|
|
19
17
|
mediaType: 'photo',
|
|
@@ -39,11 +37,7 @@ const requestPermission = async (
|
|
|
39
37
|
try {
|
|
40
38
|
//handle android function check can't return status code blocked
|
|
41
39
|
let granted =
|
|
42
|
-
Platform.OS === 'android'
|
|
43
|
-
? perm
|
|
44
|
-
? await request(perm)
|
|
45
|
-
: 'granted'
|
|
46
|
-
: await check(perm);
|
|
40
|
+
Platform.OS === 'android' ? await request(perm) : await check(perm);
|
|
47
41
|
if (granted === 'unavailable') {
|
|
48
42
|
UIUtils.toast.open({
|
|
49
43
|
title: 'Tính năng hiện tại không khả dụng, vui lòng thử lại sau',
|
|
@@ -78,16 +72,15 @@ const requestPermission = async (
|
|
|
78
72
|
const requestReadPhotoPermission = async (disableToast = false) => {
|
|
79
73
|
const perm = Platform.select({
|
|
80
74
|
ios: PERMISSIONS.IOS.PHOTO_LIBRARY,
|
|
81
|
-
default:
|
|
82
|
-
(Platform.Version as number) >= 33
|
|
83
|
-
? null
|
|
84
|
-
: PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
|
|
75
|
+
default: PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
|
|
85
76
|
});
|
|
86
|
-
return
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
return (Platform.Version as number) >= 33
|
|
78
|
+
? true
|
|
79
|
+
: requestPermission(
|
|
80
|
+
perm as any,
|
|
81
|
+
'Vui lòng cấp quyền truy cập vào "Thư viện ảnh" của bạn trước khi sử dụng tính năng này',
|
|
82
|
+
disableToast
|
|
83
|
+
);
|
|
91
84
|
};
|
|
92
85
|
|
|
93
86
|
const requestCameraPermission = async () => {
|