@developer_tribe/react-native-comnyx 0.14.0 → 0.16.0
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/Comnyx.podspec +10 -2
- package/README.md +50 -0
- package/android/build.gradle +1 -0
- package/android/consumer-rules.pro +23 -0
- package/android/generated/java/com/comnyx/NativeComnyxSpec.java +46 -0
- package/android/generated/jni/RNComnyxSpec-generated.cpp +23 -1
- package/android/generated/jni/RNComnyxSpec.h +7 -0
- package/android/generated/jni/react/renderer/components/RNComnyxSpec/RNComnyxSpecJSI-generated.cpp +21 -0
- package/android/generated/jni/react/renderer/components/RNComnyxSpec/RNComnyxSpecJSI.h +70 -0
- package/android/src/main/AndroidManifest.xml +11 -1
- package/android/src/main/AndroidManifestNew.xml +11 -1
- package/android/src/main/java/com/comnyx/ComnyxMediaPickerModule.kt +105 -19
- package/android/src/main/java/com/comnyx/ComnyxModule.kt +7 -0
- package/android/src/main/java/com/comnyx/src/messaging/firebase/FirebaseMessagingService.kt +4 -6
- package/android/src/main/res/xml/comnyx_file_paths.xml +12 -0
- package/ios/APNService.swift +9 -9
- package/ios/Comnyx.swift +17 -8
- package/ios/ComnyxMediaPicker.m +6 -0
- package/ios/ComnyxMediaPicker.swift +106 -26
- package/ios/ComnyxMessaging.swift +2 -0
- package/ios/PrivacyInfo.xcprivacy +32 -0
- package/ios/comnyx_post_install.rb +25 -0
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNComnyxSpec/RNComnyxSpec-generated.mm +53 -0
- package/ios/generated/RNComnyxSpec/RNComnyxSpec.h +67 -0
- package/ios/generated/RNComnyxSpecJSI-generated.cpp +38 -0
- package/ios/generated/RNComnyxSpecJSI.h +89 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/commonjs/NativeComnyxMediaPicker.js +46 -6
- package/lib/commonjs/NativeComnyxMediaPicker.js.map +1 -1
- package/lib/commonjs/api/conversations.js +6 -6
- package/lib/commonjs/api/conversations.js.map +1 -1
- package/lib/commonjs/api/customers.js +3 -2
- package/lib/commonjs/api/customers.js.map +1 -1
- package/lib/commonjs/api/media.js +20 -6
- package/lib/commonjs/api/media.js.map +1 -1
- package/lib/commonjs/api/messages.js +3 -2
- package/lib/commonjs/api/messages.js.map +1 -1
- package/lib/commonjs/assets/gallery.png +0 -0
- package/lib/commonjs/assets/video-play.png +0 -0
- package/lib/commonjs/components/ChatList.js +93 -45
- package/lib/commonjs/components/ChatList.js.map +1 -1
- package/lib/commonjs/components/ComnyxErrorBoundary.js +92 -0
- package/lib/commonjs/components/ComnyxErrorBoundary.js.map +1 -0
- package/lib/commonjs/components/CustomerForm.js +2 -2
- package/lib/commonjs/components/CustomerForm.js.map +1 -1
- package/lib/commonjs/components/MediaMessageItem.js +4 -3
- package/lib/commonjs/components/MediaMessageItem.js.map +1 -1
- package/lib/commonjs/components/MediaPickerButton.js +211 -14
- package/lib/commonjs/components/MediaPickerButton.js.map +1 -1
- package/lib/commonjs/components/MediaViewerModal.js +7 -0
- package/lib/commonjs/components/MediaViewerModal.js.map +1 -1
- package/lib/commonjs/components/MessageInput.js +63 -13
- package/lib/commonjs/components/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageItem.js +1 -2
- package/lib/commonjs/components/MessageItem.js.map +1 -1
- package/lib/commonjs/constants/translations.js +87 -116
- package/lib/commonjs/constants/translations.js.map +1 -1
- package/lib/commonjs/hooks/usePolling.js +25 -21
- package/lib/commonjs/hooks/usePolling.js.map +1 -1
- package/lib/commonjs/hooks/useThemeColors.js +12 -1
- package/lib/commonjs/hooks/useThemeColors.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/notifications/initializeNotifications.js +19 -16
- package/lib/commonjs/notifications/initializeNotifications.js.map +1 -1
- package/lib/commonjs/register/Accumulator.js +19 -6
- package/lib/commonjs/register/Accumulator.js.map +1 -1
- package/lib/commonjs/register/collectData.js +1 -1
- package/lib/commonjs/register/collectData.js.map +1 -1
- package/lib/commonjs/store/store.js +6 -0
- package/lib/commonjs/store/store.js.map +1 -1
- package/lib/commonjs/support/ComnyxSupport.js +60 -15
- package/lib/commonjs/support/ComnyxSupport.js.map +1 -1
- package/lib/commonjs/support/SupportConfigContext.js +24 -0
- package/lib/commonjs/support/SupportConfigContext.js.map +1 -0
- package/lib/commonjs/types/Theme.js +30 -2
- package/lib/commonjs/types/Theme.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/NativeComnyxMediaPicker.js +43 -6
- package/lib/module/NativeComnyxMediaPicker.js.map +1 -1
- package/lib/module/api/conversations.js +6 -6
- package/lib/module/api/conversations.js.map +1 -1
- package/lib/module/api/customers.js +3 -2
- package/lib/module/api/customers.js.map +1 -1
- package/lib/module/api/media.js +21 -6
- package/lib/module/api/media.js.map +1 -1
- package/lib/module/api/messages.js +3 -2
- package/lib/module/api/messages.js.map +1 -1
- package/lib/module/assets/gallery.png +0 -0
- package/lib/module/assets/video-play.png +0 -0
- package/lib/module/components/ChatList.js +94 -46
- package/lib/module/components/ChatList.js.map +1 -1
- package/lib/module/components/ComnyxErrorBoundary.js +87 -0
- package/lib/module/components/ComnyxErrorBoundary.js.map +1 -0
- package/lib/module/components/CustomerForm.js +2 -2
- package/lib/module/components/CustomerForm.js.map +1 -1
- package/lib/module/components/MediaMessageItem.js +4 -3
- package/lib/module/components/MediaMessageItem.js.map +1 -1
- package/lib/module/components/MediaPickerButton.js +215 -18
- package/lib/module/components/MediaPickerButton.js.map +1 -1
- package/lib/module/components/MediaViewerModal.js +8 -1
- package/lib/module/components/MediaViewerModal.js.map +1 -1
- package/lib/module/components/MessageInput.js +64 -14
- package/lib/module/components/MessageInput.js.map +1 -1
- package/lib/module/components/MessageItem.js +1 -2
- package/lib/module/components/MessageItem.js.map +1 -1
- package/lib/module/constants/translations.js +87 -116
- package/lib/module/constants/translations.js.map +1 -1
- package/lib/module/hooks/usePolling.js +25 -21
- package/lib/module/hooks/usePolling.js.map +1 -1
- package/lib/module/hooks/useThemeColors.js +13 -2
- package/lib/module/hooks/useThemeColors.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/notifications/initializeNotifications.js +19 -16
- package/lib/module/notifications/initializeNotifications.js.map +1 -1
- package/lib/module/register/Accumulator.js +19 -6
- package/lib/module/register/Accumulator.js.map +1 -1
- package/lib/module/register/collectData.js +1 -1
- package/lib/module/register/collectData.js.map +1 -1
- package/lib/module/store/store.js +6 -0
- package/lib/module/store/store.js.map +1 -1
- package/lib/module/support/ComnyxSupport.js +61 -16
- package/lib/module/support/ComnyxSupport.js.map +1 -1
- package/lib/module/support/SupportConfigContext.js +19 -0
- package/lib/module/support/SupportConfigContext.js.map +1 -0
- package/lib/module/types/Theme.js +30 -2
- package/lib/module/types/Theme.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/src/NativeComnyxMediaPicker.d.ts +11 -0
- package/lib/typescript/src/NativeComnyxMediaPicker.d.ts.map +1 -1
- package/lib/typescript/src/api/conversations.d.ts +2 -2
- package/lib/typescript/src/api/conversations.d.ts.map +1 -1
- package/lib/typescript/src/api/customers.d.ts +1 -1
- package/lib/typescript/src/api/customers.d.ts.map +1 -1
- package/lib/typescript/src/api/media.d.ts +3 -3
- package/lib/typescript/src/api/media.d.ts.map +1 -1
- package/lib/typescript/src/api/messages.d.ts +1 -1
- package/lib/typescript/src/api/messages.d.ts.map +1 -1
- package/lib/typescript/src/components/ChatList.d.ts.map +1 -1
- package/lib/typescript/src/components/ComnyxErrorBoundary.d.ts +18 -0
- package/lib/typescript/src/components/ComnyxErrorBoundary.d.ts.map +1 -0
- package/lib/typescript/src/components/MediaMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/MediaPickerButton.d.ts.map +1 -1
- package/lib/typescript/src/components/MediaViewerModal.d.ts.map +1 -1
- package/lib/typescript/src/components/MessageInput.d.ts.map +1 -1
- package/lib/typescript/src/components/MessageItem.d.ts.map +1 -1
- package/lib/typescript/src/constants/translations.d.ts.map +1 -1
- package/lib/typescript/src/hooks/usePolling.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useThemeColors.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/notifications/initializeNotifications.d.ts.map +1 -1
- package/lib/typescript/src/register/Accumulator.d.ts.map +1 -1
- package/lib/typescript/src/register/collectData.d.ts +4 -1
- package/lib/typescript/src/register/collectData.d.ts.map +1 -1
- package/lib/typescript/src/store/store.d.ts +6 -2
- package/lib/typescript/src/store/store.d.ts.map +1 -1
- package/lib/typescript/src/support/ComnyxSupport.d.ts +56 -2
- package/lib/typescript/src/support/ComnyxSupport.d.ts.map +1 -1
- package/lib/typescript/src/support/SupportConfigContext.d.ts +58 -0
- package/lib/typescript/src/support/SupportConfigContext.d.ts.map +1 -0
- package/lib/typescript/src/support/index.d.ts +1 -0
- package/lib/typescript/src/support/index.d.ts.map +1 -1
- package/lib/typescript/src/types/Conversation.d.ts +2 -2
- package/lib/typescript/src/types/Conversation.d.ts.map +1 -1
- package/lib/typescript/src/types/Customer.d.ts +1 -1
- package/lib/typescript/src/types/Customer.d.ts.map +1 -1
- package/lib/typescript/src/types/LocalizationKeys.d.ts +0 -1
- package/lib/typescript/src/types/LocalizationKeys.d.ts.map +1 -1
- package/lib/typescript/src/types/MessageResponse.d.ts +7 -4
- package/lib/typescript/src/types/MessageResponse.d.ts.map +1 -1
- package/lib/typescript/src/types/Theme.d.ts +26 -0
- package/lib/typescript/src/types/Theme.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +12 -25
- package/src/NativeComnyxMediaPicker.ts +46 -7
- package/src/api/conversations.ts +6 -4
- package/src/api/customers.ts +3 -1
- package/src/api/media.ts +32 -10
- package/src/api/messages.ts +3 -1
- package/src/assets/gallery.png +0 -0
- package/src/assets/video-play.png +0 -0
- package/src/components/ChatList.tsx +115 -55
- package/src/components/ComnyxErrorBoundary.tsx +91 -0
- package/src/components/CustomerForm.tsx +2 -2
- package/src/components/MediaMessageItem.tsx +10 -3
- package/src/components/MediaPickerButton.tsx +238 -17
- package/src/components/MediaViewerModal.tsx +8 -1
- package/src/components/MessageInput.tsx +89 -16
- package/src/components/MessageItem.tsx +12 -14
- package/src/constants/translations.ts +87 -116
- package/src/hooks/usePolling.ts +21 -11
- package/src/hooks/useThemeColors.ts +11 -2
- package/src/index.ts +12 -0
- package/src/notifications/initializeNotifications.ts +22 -20
- package/src/register/Accumulator.ts +26 -9
- package/src/register/collectData.ts +10 -2
- package/src/store/store.ts +11 -3
- package/src/support/ComnyxSupport.tsx +128 -22
- package/src/support/SupportConfigContext.tsx +79 -0
- package/src/support/index.ts +7 -0
- package/src/types/Conversation.ts +2 -2
- package/src/types/Customer.ts +1 -2
- package/src/types/LocalizationKeys.ts +0 -1
- package/src/types/MessageResponse.ts +4 -4
- package/src/types/Theme.ts +38 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Image","TouchableOpacity","useState","useEffect","useThemeColors","AppText","ScaledSheet","activeOpacity","MediaViewerModal","openVideo","generateThumbnail","LinkifyText","Linking","jsx","_jsx","jsxs","_jsxs","infoIcon","require","clockIcon","MediaThumbnail","file","isUploading","onImagePress","onVideoPress","single","generatedThumb","setGeneratedThumb","displayUri","local_uri","url","isVideo","type","thumbnail_uri","then","thumb","catch","err","console","warn","effectiveThumb","thumbSource","uri","undefined","handlePress","wrapperStyle","styles","singleMediaWrapper","gridItem","imageStyle","singleMediaImage","gridImage","placeholderStyle","backgroundColor","videoPlaceholder","style","onPress","disabled","children","source","resizeMode","playOverlay","playIcon","MediaMessageItem","item","onShowPopup","themeColors","isDeviceOwner","user","bot","is_uploading","uploadProgress","upload_progress","viewerVisible","setViewerVisible","viewerUri","setViewerUri","mediaFiles","media_files","length","map","f","singleUri","media_local_uri","media_url","media_type","media_thumbnail_uri","isMultiMedia","hasContent","content","trim","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","handleImagePress","handleVideoPress","renderFooter","error","approved","footerRow","uploadPercentText","timestamp","rightTimestamp","leftTimestamp","color","text","onLongPress","container","rightMessage","leftMessage","mediaBubble","light_green","ghost","gridContent","index","contentContainer","selectable","contentText","rightContentText","leftContentText","patterns","regex","navigate","openURL","footer","visible","onClose","mediaUri","mediaType","create","maxWidth","minWidth","marginVertical","alignSelf","borderRadius","overflow","paddingTop","paddingHorizontal","flexDirection","flexWrap","gap","position","width","height","aspectRatio","justifyContent","alignItems","top","left","right","bottom","fontSize","marginLeft","marginTop","paddingBottom","opacity"],"sourceRoot":"../../../src","sources":["components/MediaMessageItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["View","Image","TouchableOpacity","useState","useEffect","useThemeColors","AppText","ScaledSheet","activeOpacity","MediaViewerModal","openVideo","generateThumbnail","LinkifyText","Linking","jsx","_jsx","jsxs","_jsxs","infoIcon","require","clockIcon","MediaThumbnail","file","isUploading","onImagePress","onVideoPress","single","generatedThumb","setGeneratedThumb","displayUri","local_uri","url","isVideo","type","themeColors","thumbnail_uri","then","thumb","catch","err","console","warn","effectiveThumb","thumbSource","uri","undefined","handlePress","wrapperStyle","styles","singleMediaWrapper","gridItem","imageStyle","singleMediaImage","gridImage","placeholderStyle","backgroundColor","videoPlaceholder","style","onPress","disabled","children","source","resizeMode","playOverlay","playIcon","MediaMessageItem","item","onShowPopup","isDeviceOwner","user","bot","is_uploading","uploadProgress","upload_progress","viewerVisible","setViewerVisible","viewerUri","setViewerUri","mediaFiles","media_files","length","map","f","singleUri","media_local_uri","media_url","media_type","media_thumbnail_uri","isMultiMedia","hasContent","content","trim","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","handleImagePress","handleVideoPress","renderFooter","error","approved","footerRow","uploadPercentText","timestamp","rightTimestamp","leftTimestamp","color","text","onLongPress","container","rightMessage","leftMessage","mediaBubble","light_green","ghost","gridContent","index","contentContainer","selectable","contentText","rightContentText","leftContentText","patterns","regex","link","navigate","openURL","footer","visible","onClose","mediaUri","mediaType","create","maxWidth","minWidth","marginVertical","alignSelf","borderRadius","overflow","paddingTop","paddingHorizontal","flexDirection","flexWrap","gap","position","width","height","aspectRatio","justifyContent","alignItems","top","left","right","bottom","fontSize","marginLeft","marginTop","paddingBottom","opacity"],"sourceRoot":"../../../src","sources":["components/MediaMessageItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +1,167 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { TouchableOpacity, Image } from 'react-native';
|
|
4
|
-
import { useCallback } from 'react';
|
|
3
|
+
import { TouchableOpacity, Image, View, Modal, Animated, Dimensions, TouchableWithoutFeedback, Platform } from 'react-native';
|
|
4
|
+
import { useState, useCallback, useRef } from 'react';
|
|
5
5
|
import { useThemeColors } from "../hooks/useThemeColors.js";
|
|
6
6
|
import { ScaledSheet } from "./ScaledSheet.js";
|
|
7
7
|
import { activeOpacity } from "../constants/activeOpacity.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { pickImage, pickVideo } from "../NativeComnyxMediaPicker.js";
|
|
9
|
+
import { AppText } from "./AppText.js";
|
|
10
|
+
import { useLocalize } from "../hooks/useLocalize.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
12
|
const paperclipIcon = require('../assets/attachment-01.png');
|
|
13
|
+
const galleryIcon = require('../assets/gallery.png');
|
|
14
|
+
const videoPlayIcon = require('../assets/video-play.png');
|
|
15
|
+
const closeCircleIcon = require('../assets/x-circle.png');
|
|
16
|
+
const SCREEN_HEIGHT = Dimensions.get('window').height;
|
|
11
17
|
export function MediaPickerButton({
|
|
12
18
|
onMediaSelected
|
|
13
19
|
}) {
|
|
14
20
|
const themeColors = useThemeColors();
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
const localize = useLocalize();
|
|
22
|
+
const [visible, setVisible] = useState(false);
|
|
23
|
+
const slideAnim = useRef(new Animated.Value(SCREEN_HEIGHT)).current;
|
|
24
|
+
const open = useCallback(() => {
|
|
25
|
+
setVisible(true);
|
|
26
|
+
Animated.spring(slideAnim, {
|
|
27
|
+
toValue: 0,
|
|
28
|
+
useNativeDriver: true,
|
|
29
|
+
bounciness: 4,
|
|
30
|
+
speed: 14
|
|
31
|
+
}).start();
|
|
32
|
+
}, [slideAnim]);
|
|
33
|
+
const close = useCallback(() => {
|
|
34
|
+
Animated.timing(slideAnim, {
|
|
35
|
+
toValue: SCREEN_HEIGHT,
|
|
36
|
+
duration: 250,
|
|
37
|
+
useNativeDriver: true
|
|
38
|
+
}).start(() => {
|
|
39
|
+
setVisible(false);
|
|
40
|
+
});
|
|
41
|
+
}, [slideAnim]);
|
|
42
|
+
const pendingAction = useRef(null);
|
|
43
|
+
const dismissAndRun = useCallback(action => {
|
|
44
|
+
slideAnim.setValue(SCREEN_HEIGHT);
|
|
45
|
+
if (Platform.OS === 'ios') {
|
|
46
|
+
// Defer action until Modal's onDismiss fires to avoid
|
|
47
|
+
// "Attempt to present on a VC which is already presenting"
|
|
48
|
+
pendingAction.current = action;
|
|
49
|
+
setVisible(false);
|
|
50
|
+
} else {
|
|
51
|
+
setVisible(false);
|
|
52
|
+
action();
|
|
53
|
+
}
|
|
54
|
+
}, [slideAnim]);
|
|
55
|
+
const handlePickImage = useCallback(async () => {
|
|
56
|
+
dismissAndRun(async () => {
|
|
57
|
+
try {
|
|
58
|
+
const assets = await pickImage();
|
|
59
|
+
if (assets.length > 0) onMediaSelected(assets);
|
|
60
|
+
} catch (e) {
|
|
61
|
+
console.error('[Comnyx] pickImage error:', e);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}, [dismissAndRun, onMediaSelected]);
|
|
65
|
+
const handlePickVideo = useCallback(async () => {
|
|
66
|
+
dismissAndRun(async () => {
|
|
67
|
+
try {
|
|
68
|
+
const assets = await pickVideo();
|
|
69
|
+
if (assets.length > 0) onMediaSelected(assets);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.error('[Comnyx] pickVideo error:', e);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}, [dismissAndRun, onMediaSelected]);
|
|
75
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
76
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
77
|
+
style: styles.button,
|
|
78
|
+
onPress: open,
|
|
79
|
+
activeOpacity: activeOpacity,
|
|
80
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
81
|
+
source: paperclipIcon,
|
|
82
|
+
style: [styles.icon, {
|
|
83
|
+
tintColor: themeColors.text
|
|
84
|
+
}]
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/_jsx(Modal, {
|
|
87
|
+
visible: visible,
|
|
88
|
+
transparent: true,
|
|
89
|
+
animationType: "none",
|
|
90
|
+
onRequestClose: close,
|
|
91
|
+
onDismiss: () => {
|
|
92
|
+
if (pendingAction.current) {
|
|
93
|
+
const action = pendingAction.current;
|
|
94
|
+
pendingAction.current = null;
|
|
95
|
+
action();
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
statusBarTranslucent: true,
|
|
99
|
+
children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
100
|
+
onPress: close,
|
|
101
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
102
|
+
style: styles.overlay,
|
|
103
|
+
children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
104
|
+
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
105
|
+
style: [styles.sheet, {
|
|
106
|
+
backgroundColor: themeColors.background,
|
|
107
|
+
transform: [{
|
|
108
|
+
translateY: slideAnim
|
|
109
|
+
}]
|
|
110
|
+
}],
|
|
111
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
112
|
+
style: styles.handle
|
|
113
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
114
|
+
style: styles.titleRow,
|
|
115
|
+
children: [/*#__PURE__*/_jsx(AppText, {
|
|
116
|
+
style: [styles.title, {
|
|
117
|
+
color: themeColors.text
|
|
118
|
+
}],
|
|
119
|
+
children: localize('chat.media.pick.title')
|
|
120
|
+
}), Platform.OS === 'android' && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
121
|
+
onPress: close,
|
|
122
|
+
activeOpacity: activeOpacity,
|
|
123
|
+
style: styles.closeButton,
|
|
124
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
125
|
+
source: closeCircleIcon,
|
|
126
|
+
style: styles.closeIcon
|
|
127
|
+
})
|
|
128
|
+
})]
|
|
129
|
+
}), /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
130
|
+
style: styles.option,
|
|
131
|
+
onPress: handlePickImage,
|
|
132
|
+
activeOpacity: activeOpacity,
|
|
133
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
134
|
+
source: galleryIcon,
|
|
135
|
+
style: [styles.optionIcon, {
|
|
136
|
+
tintColor: themeColors.text
|
|
137
|
+
}]
|
|
138
|
+
}), /*#__PURE__*/_jsx(AppText, {
|
|
139
|
+
style: [styles.optionText, {
|
|
140
|
+
color: themeColors.text
|
|
141
|
+
}],
|
|
142
|
+
children: localize('chat.media.pick.photo')
|
|
143
|
+
})]
|
|
144
|
+
}), /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
145
|
+
style: styles.option,
|
|
146
|
+
onPress: handlePickVideo,
|
|
147
|
+
activeOpacity: activeOpacity,
|
|
148
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
149
|
+
source: videoPlayIcon,
|
|
150
|
+
style: [styles.optionIcon, {
|
|
151
|
+
tintColor: themeColors.text
|
|
152
|
+
}]
|
|
153
|
+
}), /*#__PURE__*/_jsx(AppText, {
|
|
154
|
+
style: [styles.optionText, {
|
|
155
|
+
color: themeColors.text
|
|
156
|
+
}],
|
|
157
|
+
children: localize('chat.media.pick.video')
|
|
158
|
+
})]
|
|
159
|
+
})]
|
|
160
|
+
})
|
|
161
|
+
})
|
|
162
|
+
})
|
|
163
|
+
})
|
|
164
|
+
})]
|
|
29
165
|
});
|
|
30
166
|
}
|
|
31
167
|
const styles = ScaledSheet.create({
|
|
@@ -38,6 +174,67 @@ const styles = ScaledSheet.create({
|
|
|
38
174
|
icon: {
|
|
39
175
|
width: '28@vs',
|
|
40
176
|
height: '28@vs'
|
|
177
|
+
},
|
|
178
|
+
overlay: {
|
|
179
|
+
flex: 1,
|
|
180
|
+
backgroundColor: 'rgba(0,0,0,0.4)',
|
|
181
|
+
justifyContent: 'flex-end'
|
|
182
|
+
},
|
|
183
|
+
sheet: {
|
|
184
|
+
borderTopLeftRadius: '16@vs',
|
|
185
|
+
borderTopRightRadius: '16@vs',
|
|
186
|
+
paddingBottom: '34@vs',
|
|
187
|
+
paddingTop: '12@vs',
|
|
188
|
+
paddingHorizontal: '20@s'
|
|
189
|
+
},
|
|
190
|
+
handle: {
|
|
191
|
+
width: '36@s',
|
|
192
|
+
height: '4@vs',
|
|
193
|
+
backgroundColor: '#ccc',
|
|
194
|
+
borderRadius: '2@vs',
|
|
195
|
+
alignSelf: 'center',
|
|
196
|
+
marginBottom: '16@vs'
|
|
197
|
+
},
|
|
198
|
+
titleRow: {
|
|
199
|
+
flexDirection: 'row',
|
|
200
|
+
justifyContent: 'space-between',
|
|
201
|
+
alignItems: 'center',
|
|
202
|
+
marginBottom: '16@vs'
|
|
203
|
+
},
|
|
204
|
+
title: {
|
|
205
|
+
fontSize: '18@vs',
|
|
206
|
+
fontWeight: '600'
|
|
207
|
+
},
|
|
208
|
+
closeButton: {
|
|
209
|
+
padding: '4@vs'
|
|
210
|
+
},
|
|
211
|
+
closeIcon: {
|
|
212
|
+
width: '22@vs',
|
|
213
|
+
height: '22@vs'
|
|
214
|
+
},
|
|
215
|
+
optionIcon: {
|
|
216
|
+
width: '24@vs',
|
|
217
|
+
height: '24@vs',
|
|
218
|
+
marginRight: '12@s'
|
|
219
|
+
},
|
|
220
|
+
option: {
|
|
221
|
+
paddingVertical: '14@vs',
|
|
222
|
+
flexDirection: 'row',
|
|
223
|
+
alignItems: 'center'
|
|
224
|
+
},
|
|
225
|
+
optionText: {
|
|
226
|
+
fontSize: '16@vs'
|
|
227
|
+
},
|
|
228
|
+
cancelButton: {
|
|
229
|
+
marginTop: '8@vs',
|
|
230
|
+
paddingVertical: '14@vs',
|
|
231
|
+
alignItems: 'center',
|
|
232
|
+
borderTopWidth: 0.5,
|
|
233
|
+
borderTopColor: '#ddd'
|
|
234
|
+
},
|
|
235
|
+
cancelText: {
|
|
236
|
+
fontSize: '16@vs',
|
|
237
|
+
opacity: 0.6
|
|
41
238
|
}
|
|
42
239
|
});
|
|
43
240
|
//# sourceMappingURL=MediaPickerButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TouchableOpacity","Image","useCallback","useThemeColors","ScaledSheet","activeOpacity","
|
|
1
|
+
{"version":3,"names":["TouchableOpacity","Image","View","Modal","Animated","Dimensions","TouchableWithoutFeedback","Platform","useState","useCallback","useRef","useThemeColors","ScaledSheet","activeOpacity","pickImage","pickVideo","AppText","useLocalize","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","paperclipIcon","require","galleryIcon","videoPlayIcon","closeCircleIcon","SCREEN_HEIGHT","get","height","MediaPickerButton","onMediaSelected","themeColors","localize","visible","setVisible","slideAnim","Value","current","open","spring","toValue","useNativeDriver","bounciness","speed","start","close","timing","duration","pendingAction","dismissAndRun","action","setValue","OS","handlePickImage","assets","length","e","console","error","handlePickVideo","children","style","styles","button","onPress","source","icon","tintColor","text","transparent","animationType","onRequestClose","onDismiss","statusBarTranslucent","overlay","sheet","backgroundColor","background","transform","translateY","handle","titleRow","title","color","closeButton","closeIcon","option","optionIcon","optionText","create","justifyContent","alignItems","marginRight","paddingVertical","width","flex","borderTopLeftRadius","borderTopRightRadius","paddingBottom","paddingTop","paddingHorizontal","borderRadius","alignSelf","marginBottom","flexDirection","fontSize","fontWeight","padding","cancelButton","marginTop","borderTopWidth","borderTopColor","cancelText","opacity"],"sourceRoot":"../../../src","sources":["components/MediaPickerButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Modal, View, Image, TouchableOpacity, StatusBar, useWindowDimensions } from 'react-native';
|
|
4
|
-
import { useState } from 'react';
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
5
|
import { AppText } from "./AppText.js";
|
|
6
6
|
import { ScaledSheet } from "./ScaledSheet.js";
|
|
7
7
|
import { activeOpacity } from "../constants/activeOpacity.js";
|
|
@@ -21,6 +21,12 @@ export function MediaViewerModal({
|
|
|
21
21
|
const [imageError, setImageError] = useState(false);
|
|
22
22
|
const isVideo = mediaType === 'video';
|
|
23
23
|
const displayUri = isVideo ? thumbnailUri || undefined : mediaUri;
|
|
24
|
+
// Reset error state when URI or visibility changes
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (visible) {
|
|
27
|
+
setImageError(false);
|
|
28
|
+
}
|
|
29
|
+
}, [visible, mediaUri]);
|
|
24
30
|
const handlePlayVideo = () => {
|
|
25
31
|
if (mediaUri) {
|
|
26
32
|
openVideo(mediaUri).catch(err => console.warn('[Comnyx] Could not open video:', err));
|
|
@@ -59,6 +65,7 @@ export function MediaViewerModal({
|
|
|
59
65
|
height: height * 0.9
|
|
60
66
|
},
|
|
61
67
|
resizeMode: "contain",
|
|
68
|
+
resizeMethod: "resize",
|
|
62
69
|
onError: () => setImageError(true)
|
|
63
70
|
}) : /*#__PURE__*/_jsx(View, {
|
|
64
71
|
style: [styles.placeholder, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","View","Image","TouchableOpacity","StatusBar","useWindowDimensions","useState","AppText","ScaledSheet","activeOpacity","openVideo","jsx","_jsx","jsxs","_jsxs","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","imageError","setImageError","isVideo","displayUri","undefined","handlePlayVideo","catch","err","console","warn","transparent","animationType","onRequestClose","statusBarTranslucent","children","backgroundColor","barStyle","style","styles","overlay","closeButton","onPress","closeIcon","mediaContainer","source","uri","resizeMode","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","create","flex","justifyContent","position","top","left","zIndex","borderRadius","alignItems","color","fontSize","fontWeight","right","bottom","borderWidth","borderColor","marginLeft"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":";;AAAA,SACEA,KAAK,EACLC,IAAI,EACJC,KAAK,EACLC,gBAAgB,EAChBC,SAAS,EACTC,mBAAmB,QACd,cAAc;AACrB,SAASC,QAAQ,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["Modal","View","Image","TouchableOpacity","StatusBar","useWindowDimensions","useState","useEffect","AppText","ScaledSheet","activeOpacity","openVideo","jsx","_jsx","jsxs","_jsxs","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","imageError","setImageError","isVideo","displayUri","undefined","handlePlayVideo","catch","err","console","warn","transparent","animationType","onRequestClose","statusBarTranslucent","children","backgroundColor","barStyle","style","styles","overlay","closeButton","onPress","closeIcon","mediaContainer","source","uri","resizeMode","resizeMethod","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","create","flex","justifyContent","position","top","left","zIndex","borderRadius","alignItems","color","fontSize","fontWeight","right","bottom","borderWidth","borderColor","marginLeft"],"sourceRoot":"../../../src","sources":["components/MediaViewerModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { TextInput, View, Image, TouchableOpacity, ScrollView } from 'react-native';
|
|
4
|
-
import { useState, useCallback } from 'react';
|
|
4
|
+
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
5
5
|
import { sendCustomerMessage } from "../api/index.js";
|
|
6
6
|
import { getUploadUrl, uploadFileToS3, sendMediaMessage } from "../api/index.js";
|
|
7
7
|
import { deleteTempFile } from "../NativeComnyxMediaPicker.js";
|
|
@@ -12,6 +12,7 @@ import { activeOpacity } from "../constants/activeOpacity.js";
|
|
|
12
12
|
import { useIsRtl } from "../hooks/isRtl.js";
|
|
13
13
|
import { useAppStore } from "../store/store.js";
|
|
14
14
|
import { MediaPickerButton } from "./MediaPickerButton.js";
|
|
15
|
+
import { useSupportConfig } from "../support/SupportConfigContext.js";
|
|
15
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
17
|
const sendDark = require('../assets/arrow-right.png');
|
|
17
18
|
const circleXIcon = require('../assets/x-circle.png');
|
|
@@ -25,6 +26,21 @@ export function MessageInput({
|
|
|
25
26
|
const themeColors = useThemeColors();
|
|
26
27
|
const localize = useLocalize();
|
|
27
28
|
const isRtl = useIsRtl();
|
|
29
|
+
const {
|
|
30
|
+
onBeforeSend
|
|
31
|
+
} = useSupportConfig();
|
|
32
|
+
const uploadAbortRef = useRef(null);
|
|
33
|
+
const lifecycleAbortRef = useRef(null);
|
|
34
|
+
if (lifecycleAbortRef.current === null) {
|
|
35
|
+
lifecycleAbortRef.current = new AbortController();
|
|
36
|
+
}
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const controller = lifecycleAbortRef.current;
|
|
39
|
+
return () => {
|
|
40
|
+
uploadAbortRef.current?.abort();
|
|
41
|
+
controller?.abort();
|
|
42
|
+
};
|
|
43
|
+
}, []);
|
|
28
44
|
const sendTextOnlyMessage = useCallback(() => {
|
|
29
45
|
if (!value.trim()) return;
|
|
30
46
|
const date = new Date();
|
|
@@ -42,7 +58,8 @@ export function MessageInput({
|
|
|
42
58
|
}, ...(data ?? [])]);
|
|
43
59
|
sendCustomerMessage(customer.external_id, value, {
|
|
44
60
|
fake: useAppStore.getState().fake
|
|
45
|
-
}).then(res => {
|
|
61
|
+
}, lifecycleAbortRef.current?.signal).then(res => {
|
|
62
|
+
if (lifecycleAbortRef.current?.signal.aborted) return;
|
|
46
63
|
const data = useAppStore.getState().data;
|
|
47
64
|
if (data) {
|
|
48
65
|
const itemIndex = data.findIndex(item => item.local_id === localId);
|
|
@@ -93,7 +110,7 @@ export function MessageInput({
|
|
|
93
110
|
});
|
|
94
111
|
setValue('');
|
|
95
112
|
}, [value, customer, scrollToBottom]);
|
|
96
|
-
const uploadSingleMedia = useCallback(async (asset, isFake, onProgress) => {
|
|
113
|
+
const uploadSingleMedia = useCallback(async (asset, isFake, signal, onProgress) => {
|
|
97
114
|
const presignResponse = await getUploadUrl(asset.fileName, asset.mimeType, {
|
|
98
115
|
fake: isFake
|
|
99
116
|
});
|
|
@@ -101,7 +118,7 @@ export function MessageInput({
|
|
|
101
118
|
const filePath = presignResponse.data.path;
|
|
102
119
|
await uploadFileToS3(uploadUrl, asset.uri, asset.mimeType, onProgress, {
|
|
103
120
|
fake: isFake
|
|
104
|
-
});
|
|
121
|
+
}, signal);
|
|
105
122
|
return isFake ? asset.uri : filePath;
|
|
106
123
|
}, []);
|
|
107
124
|
const sendMediaMessages = useCallback(async (assets, content) => {
|
|
@@ -130,6 +147,9 @@ export function MessageInput({
|
|
|
130
147
|
upload_progress: 0
|
|
131
148
|
}, ...(data ?? [])]);
|
|
132
149
|
scrollToBottom(false);
|
|
150
|
+
uploadAbortRef.current?.abort();
|
|
151
|
+
const controller = new AbortController();
|
|
152
|
+
uploadAbortRef.current = controller;
|
|
133
153
|
try {
|
|
134
154
|
const fileProgresses = new Array(assets.length).fill(0);
|
|
135
155
|
let lastProgressUpdate = 0;
|
|
@@ -156,7 +176,7 @@ export function MessageInput({
|
|
|
156
176
|
};
|
|
157
177
|
const uploadedPaths = [];
|
|
158
178
|
for (let i = 0; i < assets.length; i++) {
|
|
159
|
-
const path = await uploadSingleMedia(assets[i], isFake, percentage => {
|
|
179
|
+
const path = await uploadSingleMedia(assets[i], isFake, controller.signal, percentage => {
|
|
160
180
|
fileProgresses[i] = percentage;
|
|
161
181
|
updateOverallProgress();
|
|
162
182
|
});
|
|
@@ -164,7 +184,7 @@ export function MessageInput({
|
|
|
164
184
|
}
|
|
165
185
|
const res = await sendMediaMessage(customer.external_id, uploadedPaths, assets[0].type, content, {
|
|
166
186
|
fake: isFake
|
|
167
|
-
});
|
|
187
|
+
}, controller.signal);
|
|
168
188
|
const currentData = useAppStore.getState().data;
|
|
169
189
|
if (currentData) {
|
|
170
190
|
const idx = currentData.findIndex(item => item.local_id === localId);
|
|
@@ -216,6 +236,10 @@ export function MessageInput({
|
|
|
216
236
|
}
|
|
217
237
|
}
|
|
218
238
|
console.error('[Comnyx] Media upload failed:', error);
|
|
239
|
+
} finally {
|
|
240
|
+
if (uploadAbortRef.current === controller) {
|
|
241
|
+
uploadAbortRef.current = null;
|
|
242
|
+
}
|
|
219
243
|
}
|
|
220
244
|
}, [customer, scrollToBottom, uploadSingleMedia]);
|
|
221
245
|
const handleMediaSelected = useCallback(assets => {
|
|
@@ -235,18 +259,36 @@ export function MessageInput({
|
|
|
235
259
|
}, []);
|
|
236
260
|
const handleSend = useCallback(async () => {
|
|
237
261
|
if (isSending) return;
|
|
238
|
-
|
|
239
|
-
|
|
262
|
+
const hasMedia = pendingMedia.length > 0;
|
|
263
|
+
const hasText = !!value.trim();
|
|
264
|
+
if (!hasMedia && !hasText) return;
|
|
265
|
+
if (onBeforeSend) {
|
|
266
|
+
try {
|
|
267
|
+
setIsSending(true);
|
|
268
|
+
await onBeforeSend({
|
|
269
|
+
content: value.trim(),
|
|
270
|
+
mediaCount: pendingMedia.length,
|
|
271
|
+
mediaTypes: pendingMedia.map(m => m.type)
|
|
272
|
+
});
|
|
273
|
+
} catch (err) {
|
|
274
|
+
console.warn('[Comnyx] onBeforeSend cancelled the message:', err);
|
|
275
|
+
setIsSending(false);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (hasMedia) {
|
|
280
|
+
if (!onBeforeSend) setIsSending(true);
|
|
240
281
|
const content = value.trim();
|
|
241
282
|
const assets = [...pendingMedia];
|
|
242
283
|
setPendingMedia([]);
|
|
243
284
|
setValue('');
|
|
244
285
|
await sendMediaMessages(assets, content);
|
|
245
286
|
setIsSending(false);
|
|
246
|
-
} else if (
|
|
287
|
+
} else if (hasText) {
|
|
247
288
|
sendTextOnlyMessage();
|
|
289
|
+
if (onBeforeSend) setIsSending(false);
|
|
248
290
|
}
|
|
249
|
-
}, [isSending, pendingMedia, value, sendMediaMessages, sendTextOnlyMessage]);
|
|
291
|
+
}, [isSending, pendingMedia, value, sendMediaMessages, sendTextOnlyMessage, onBeforeSend]);
|
|
250
292
|
const hasPendingMedia = pendingMedia.length > 0;
|
|
251
293
|
return /*#__PURE__*/_jsxs(View, {
|
|
252
294
|
style: [styles.container, {
|
|
@@ -273,9 +315,13 @@ export function MessageInput({
|
|
|
273
315
|
}), asset.type === 'video' && /*#__PURE__*/_jsx(View, {
|
|
274
316
|
style: styles.playIconOverlay,
|
|
275
317
|
children: /*#__PURE__*/_jsx(View, {
|
|
276
|
-
style: styles.playIcon,
|
|
318
|
+
style: [styles.playIcon, {
|
|
319
|
+
borderColor: themeColors.playIcon
|
|
320
|
+
}],
|
|
277
321
|
children: /*#__PURE__*/_jsx(View, {
|
|
278
|
-
style: styles.playTriangle
|
|
322
|
+
style: [styles.playTriangle, {
|
|
323
|
+
borderLeftColor: themeColors.playIcon
|
|
324
|
+
}]
|
|
279
325
|
})
|
|
280
326
|
})
|
|
281
327
|
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
@@ -313,6 +359,12 @@ export function MessageInput({
|
|
|
313
359
|
onPress: handleSend,
|
|
314
360
|
activeOpacity: activeOpacity,
|
|
315
361
|
disabled: isSending,
|
|
362
|
+
accessibilityRole: "button",
|
|
363
|
+
accessibilityLabel: localize('chat.messageInput.placeholder'),
|
|
364
|
+
accessibilityState: {
|
|
365
|
+
disabled: isSending,
|
|
366
|
+
busy: isSending
|
|
367
|
+
},
|
|
316
368
|
children: /*#__PURE__*/_jsx(Image, {
|
|
317
369
|
style: [styles.sendIcon, isRtl && {
|
|
318
370
|
transform: [{
|
|
@@ -378,7 +430,6 @@ const styles = ScaledSheet.create({
|
|
|
378
430
|
height: '22@vs',
|
|
379
431
|
borderRadius: '11@vs',
|
|
380
432
|
borderWidth: 1.5,
|
|
381
|
-
borderColor: '#fff',
|
|
382
433
|
justifyContent: 'center',
|
|
383
434
|
alignItems: 'center'
|
|
384
435
|
},
|
|
@@ -388,7 +439,6 @@ const styles = ScaledSheet.create({
|
|
|
388
439
|
borderLeftWidth: '7@vs',
|
|
389
440
|
borderTopWidth: '5@vs',
|
|
390
441
|
borderBottomWidth: '5@vs',
|
|
391
|
-
borderLeftColor: '#fff',
|
|
392
442
|
borderTopColor: 'transparent',
|
|
393
443
|
borderBottomColor: 'transparent',
|
|
394
444
|
marginLeft: '2@s'
|