@developer_tribe/react-native-comnyx 0.14.0 → 0.15.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/android/src/main/java/com/comnyx/ComnyxMediaPickerModule.kt +47 -1
- package/ios/ComnyxMediaPicker.m +6 -0
- package/ios/ComnyxMediaPicker.swift +59 -0
- package/lib/commonjs/NativeComnyxMediaPicker.js +27 -6
- package/lib/commonjs/NativeComnyxMediaPicker.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/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/MessageItem.js +0 -1
- 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/version.js +1 -1
- package/lib/module/NativeComnyxMediaPicker.js +25 -6
- package/lib/module/NativeComnyxMediaPicker.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/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/MessageItem.js +0 -1
- 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/version.js +1 -1
- package/lib/typescript/src/NativeComnyxMediaPicker.d.ts +2 -0
- package/lib/typescript/src/NativeComnyxMediaPicker.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/constants/translations.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/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/NativeComnyxMediaPicker.ts +28 -7
- package/src/assets/gallery.png +0 -0
- package/src/assets/video-play.png +0 -0
- package/src/components/MediaPickerButton.tsx +238 -17
- package/src/components/MediaViewerModal.tsx +8 -1
- package/src/components/MessageItem.tsx +0 -1
- package/src/constants/translations.ts +87 -116
- package/src/types/LocalizationKeys.ts +0 -1
- package/src/version.ts +1 -1
|
@@ -19,12 +19,19 @@ class ComnyxMediaPickerModule(reactContext: ReactApplicationContext) :
|
|
|
19
19
|
companion object {
|
|
20
20
|
const val NAME = "ComnyxMediaPicker"
|
|
21
21
|
private const val REQUEST_MEDIA = 2003
|
|
22
|
+
private const val REQUEST_IMAGE = 2004
|
|
23
|
+
private const val REQUEST_VIDEO = 2005
|
|
22
24
|
private const val COMPRESS_THRESHOLD = 500 * 1024 // 500KB
|
|
23
25
|
private const val COMPRESS_QUALITY = 80
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
private var promise: Promise? = null
|
|
27
29
|
|
|
30
|
+
private fun rejectPendingPromise() {
|
|
31
|
+
promise?.reject("CANCELLED", "A new picker request was made before the previous one completed")
|
|
32
|
+
promise = null
|
|
33
|
+
}
|
|
34
|
+
|
|
28
35
|
init {
|
|
29
36
|
reactContext.addActivityEventListener(this)
|
|
30
37
|
}
|
|
@@ -37,6 +44,7 @@ class ComnyxMediaPickerModule(reactContext: ReactApplicationContext) :
|
|
|
37
44
|
|
|
38
45
|
@ReactMethod
|
|
39
46
|
fun pickMedia(promise: Promise) {
|
|
47
|
+
rejectPendingPromise()
|
|
40
48
|
this.promise = promise
|
|
41
49
|
val activity = reactApplicationContext.currentActivity
|
|
42
50
|
if (activity == null) {
|
|
@@ -52,6 +60,44 @@ class ComnyxMediaPickerModule(reactContext: ReactApplicationContext) :
|
|
|
52
60
|
activity.startActivityForResult(intent, REQUEST_MEDIA)
|
|
53
61
|
}
|
|
54
62
|
|
|
63
|
+
// MARK: - Pick Image Only
|
|
64
|
+
|
|
65
|
+
@ReactMethod
|
|
66
|
+
fun pickImage(promise: Promise) {
|
|
67
|
+
rejectPendingPromise()
|
|
68
|
+
this.promise = promise
|
|
69
|
+
val activity = reactApplicationContext.currentActivity
|
|
70
|
+
if (activity == null) {
|
|
71
|
+
promise.reject("NO_ACTIVITY", "Activity is not available")
|
|
72
|
+
return
|
|
73
|
+
}
|
|
74
|
+
val intent = Intent(Intent.ACTION_GET_CONTENT).apply {
|
|
75
|
+
type = "image/*"
|
|
76
|
+
putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
|
|
77
|
+
addCategory(Intent.CATEGORY_OPENABLE)
|
|
78
|
+
}
|
|
79
|
+
activity.startActivityForResult(intent, REQUEST_IMAGE)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// MARK: - Pick Video Only
|
|
83
|
+
|
|
84
|
+
@ReactMethod
|
|
85
|
+
fun pickVideo(promise: Promise) {
|
|
86
|
+
rejectPendingPromise()
|
|
87
|
+
this.promise = promise
|
|
88
|
+
val activity = reactApplicationContext.currentActivity
|
|
89
|
+
if (activity == null) {
|
|
90
|
+
promise.reject("NO_ACTIVITY", "Activity is not available")
|
|
91
|
+
return
|
|
92
|
+
}
|
|
93
|
+
val intent = Intent(Intent.ACTION_GET_CONTENT).apply {
|
|
94
|
+
type = "video/*"
|
|
95
|
+
putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
|
|
96
|
+
addCategory(Intent.CATEGORY_OPENABLE)
|
|
97
|
+
}
|
|
98
|
+
activity.startActivityForResult(intent, REQUEST_VIDEO)
|
|
99
|
+
}
|
|
100
|
+
|
|
55
101
|
// MARK: - Generate Thumbnail from Video URL
|
|
56
102
|
|
|
57
103
|
@ReactMethod
|
|
@@ -124,7 +170,7 @@ class ComnyxMediaPickerModule(reactContext: ReactApplicationContext) :
|
|
|
124
170
|
// MARK: - Activity Result
|
|
125
171
|
|
|
126
172
|
override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, data: Intent?) {
|
|
127
|
-
if (requestCode != REQUEST_MEDIA) return
|
|
173
|
+
if (requestCode != REQUEST_MEDIA && requestCode != REQUEST_IMAGE && requestCode != REQUEST_VIDEO) return
|
|
128
174
|
|
|
129
175
|
if (resultCode != Activity.RESULT_OK || data == null) {
|
|
130
176
|
promise?.resolve(null)
|
package/ios/ComnyxMediaPicker.m
CHANGED
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
RCT_EXTERN_METHOD(pickMedia:(RCTPromiseResolveBlock)resolve
|
|
6
6
|
reject:(RCTPromiseRejectBlock)reject)
|
|
7
7
|
|
|
8
|
+
RCT_EXTERN_METHOD(pickImage:(RCTPromiseResolveBlock)resolve
|
|
9
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
10
|
+
|
|
11
|
+
RCT_EXTERN_METHOD(pickVideo:(RCTPromiseResolveBlock)resolve
|
|
12
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
13
|
+
|
|
8
14
|
RCT_EXTERN_METHOD(generateThumbnail:(NSString *)videoUrl
|
|
9
15
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
10
16
|
reject:(RCTPromiseRejectBlock)reject)
|
|
@@ -19,6 +19,12 @@ class ComnyxMediaPicker: NSObject, RCTBridgeModule {
|
|
|
19
19
|
private var resolveBlock: RCTPromiseResolveBlock?
|
|
20
20
|
private var rejectBlock: RCTPromiseRejectBlock?
|
|
21
21
|
|
|
22
|
+
private func rejectPendingPromise() {
|
|
23
|
+
rejectBlock?("CANCELLED", "A new picker request was made before the previous one completed", nil)
|
|
24
|
+
resolveBlock = nil
|
|
25
|
+
rejectBlock = nil
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
private func getRootViewController() -> UIViewController? {
|
|
23
29
|
return UIApplication.shared.delegate?.window??.rootViewController?.presentedViewController
|
|
24
30
|
?? UIApplication.shared.delegate?.window??.rootViewController
|
|
@@ -29,6 +35,7 @@ class ComnyxMediaPicker: NSObject, RCTBridgeModule {
|
|
|
29
35
|
|
|
30
36
|
@objc
|
|
31
37
|
func pickMedia(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
38
|
+
rejectPendingPromise()
|
|
32
39
|
self.resolveBlock = resolve
|
|
33
40
|
self.rejectBlock = reject
|
|
34
41
|
|
|
@@ -50,6 +57,58 @@ class ComnyxMediaPicker: NSObject, RCTBridgeModule {
|
|
|
50
57
|
}
|
|
51
58
|
}
|
|
52
59
|
|
|
60
|
+
// MARK: - Pick Image Only
|
|
61
|
+
|
|
62
|
+
@objc
|
|
63
|
+
func pickImage(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
64
|
+
rejectPendingPromise()
|
|
65
|
+
self.resolveBlock = resolve
|
|
66
|
+
self.rejectBlock = reject
|
|
67
|
+
|
|
68
|
+
DispatchQueue.main.async {
|
|
69
|
+
if #available(iOS 14.0, *) {
|
|
70
|
+
var config = PHPickerConfiguration()
|
|
71
|
+
config.filter = .images
|
|
72
|
+
config.selectionLimit = 0
|
|
73
|
+
let picker = PHPickerViewController(configuration: config)
|
|
74
|
+
picker.delegate = self
|
|
75
|
+
self.getRootViewController()?.present(picker, animated: true)
|
|
76
|
+
} else {
|
|
77
|
+
let picker = UIImagePickerController()
|
|
78
|
+
picker.sourceType = .photoLibrary
|
|
79
|
+
picker.mediaTypes = ["public.image"]
|
|
80
|
+
picker.delegate = self
|
|
81
|
+
self.getRootViewController()?.present(picker, animated: true)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// MARK: - Pick Video Only
|
|
87
|
+
|
|
88
|
+
@objc
|
|
89
|
+
func pickVideo(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
90
|
+
rejectPendingPromise()
|
|
91
|
+
self.resolveBlock = resolve
|
|
92
|
+
self.rejectBlock = reject
|
|
93
|
+
|
|
94
|
+
DispatchQueue.main.async {
|
|
95
|
+
if #available(iOS 14.0, *) {
|
|
96
|
+
var config = PHPickerConfiguration()
|
|
97
|
+
config.filter = .videos
|
|
98
|
+
config.selectionLimit = 0
|
|
99
|
+
let picker = PHPickerViewController(configuration: config)
|
|
100
|
+
picker.delegate = self
|
|
101
|
+
self.getRootViewController()?.present(picker, animated: true)
|
|
102
|
+
} else {
|
|
103
|
+
let picker = UIImagePickerController()
|
|
104
|
+
picker.sourceType = .photoLibrary
|
|
105
|
+
picker.mediaTypes = ["public.movie"]
|
|
106
|
+
picker.delegate = self
|
|
107
|
+
self.getRootViewController()?.present(picker, animated: true)
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
53
112
|
// MARK: - Generate Thumbnail from Video URL
|
|
54
113
|
|
|
55
114
|
@objc
|
|
@@ -7,17 +7,14 @@ exports.cleanupTempFiles = cleanupTempFiles;
|
|
|
7
7
|
exports.deleteTempFile = deleteTempFile;
|
|
8
8
|
exports.generateThumbnail = generateThumbnail;
|
|
9
9
|
exports.openVideo = openVideo;
|
|
10
|
+
exports.pickImage = pickImage;
|
|
10
11
|
exports.pickMedia = pickMedia;
|
|
12
|
+
exports.pickVideo = pickVideo;
|
|
11
13
|
var _reactNative = require("react-native");
|
|
12
14
|
const {
|
|
13
15
|
ComnyxMediaPicker
|
|
14
16
|
} = _reactNative.NativeModules;
|
|
15
|
-
|
|
16
|
-
if (!ComnyxMediaPicker) {
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
const results = await ComnyxMediaPicker.pickMedia();
|
|
20
|
-
if (!results || !Array.isArray(results) || results.length === 0) return [];
|
|
17
|
+
function mapResults(results) {
|
|
21
18
|
return results.map(result => {
|
|
22
19
|
const isImage = result.type === 'image' || result.mimeType && result.mimeType.startsWith('image');
|
|
23
20
|
return {
|
|
@@ -33,6 +30,30 @@ async function pickMedia() {
|
|
|
33
30
|
};
|
|
34
31
|
});
|
|
35
32
|
}
|
|
33
|
+
async function pickMedia() {
|
|
34
|
+
if (!ComnyxMediaPicker) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
const results = await ComnyxMediaPicker.pickMedia();
|
|
38
|
+
if (!results || !Array.isArray(results) || results.length === 0) return [];
|
|
39
|
+
return mapResults(results);
|
|
40
|
+
}
|
|
41
|
+
async function pickImage() {
|
|
42
|
+
if (!ComnyxMediaPicker) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
const results = await ComnyxMediaPicker.pickImage();
|
|
46
|
+
if (!results || !Array.isArray(results) || results.length === 0) return [];
|
|
47
|
+
return mapResults(results);
|
|
48
|
+
}
|
|
49
|
+
async function pickVideo() {
|
|
50
|
+
if (!ComnyxMediaPicker) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const results = await ComnyxMediaPicker.pickVideo();
|
|
54
|
+
if (!results || !Array.isArray(results) || results.length === 0) return [];
|
|
55
|
+
return mapResults(results);
|
|
56
|
+
}
|
|
36
57
|
async function openVideo(uri) {
|
|
37
58
|
if (!ComnyxMediaPicker) {
|
|
38
59
|
console.warn('[Comnyx] ComnyxMediaPicker native module is not available');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","ComnyxMediaPicker","NativeModules","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","ComnyxMediaPicker","NativeModules","mapResults","results","map","result","isImage","type","mimeType","startsWith","uri","fileName","fileSize","width","undefined","height","duration","thumbnailUri","pickMedia","Array","isArray","length","pickImage","pickVideo","openVideo","console","warn","generateThumbnail","videoUrl","deleteTempFile","cleanupTempFiles"],"sourceRoot":"../../src","sources":["NativeComnyxMediaPicker.ts"],"mappings":"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","ignoreList":[]}
|
|
Binary file
|
|
Binary file
|
|
@@ -10,26 +10,162 @@ var _useThemeColors = require("../hooks/useThemeColors.js");
|
|
|
10
10
|
var _ScaledSheet = require("./ScaledSheet.js");
|
|
11
11
|
var _activeOpacity = require("../constants/activeOpacity.js");
|
|
12
12
|
var _NativeComnyxMediaPicker = require("../NativeComnyxMediaPicker.js");
|
|
13
|
+
var _AppText = require("./AppText.js");
|
|
14
|
+
var _useLocalize = require("../hooks/useLocalize.js");
|
|
13
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
16
|
const paperclipIcon = require('../assets/attachment-01.png');
|
|
17
|
+
const galleryIcon = require('../assets/gallery.png');
|
|
18
|
+
const videoPlayIcon = require('../assets/video-play.png');
|
|
19
|
+
const closeCircleIcon = require('../assets/x-circle.png');
|
|
20
|
+
const SCREEN_HEIGHT = _reactNative.Dimensions.get('window').height;
|
|
15
21
|
function MediaPickerButton({
|
|
16
22
|
onMediaSelected
|
|
17
23
|
}) {
|
|
18
24
|
const themeColors = (0, _useThemeColors.useThemeColors)();
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
const localize = (0, _useLocalize.useLocalize)();
|
|
26
|
+
const [visible, setVisible] = (0, _react.useState)(false);
|
|
27
|
+
const slideAnim = (0, _react.useRef)(new _reactNative.Animated.Value(SCREEN_HEIGHT)).current;
|
|
28
|
+
const open = (0, _react.useCallback)(() => {
|
|
29
|
+
setVisible(true);
|
|
30
|
+
_reactNative.Animated.spring(slideAnim, {
|
|
31
|
+
toValue: 0,
|
|
32
|
+
useNativeDriver: true,
|
|
33
|
+
bounciness: 4,
|
|
34
|
+
speed: 14
|
|
35
|
+
}).start();
|
|
36
|
+
}, [slideAnim]);
|
|
37
|
+
const close = (0, _react.useCallback)(() => {
|
|
38
|
+
_reactNative.Animated.timing(slideAnim, {
|
|
39
|
+
toValue: SCREEN_HEIGHT,
|
|
40
|
+
duration: 250,
|
|
41
|
+
useNativeDriver: true
|
|
42
|
+
}).start(() => {
|
|
43
|
+
setVisible(false);
|
|
44
|
+
});
|
|
45
|
+
}, [slideAnim]);
|
|
46
|
+
const pendingAction = (0, _react.useRef)(null);
|
|
47
|
+
const dismissAndRun = (0, _react.useCallback)(action => {
|
|
48
|
+
slideAnim.setValue(SCREEN_HEIGHT);
|
|
49
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
50
|
+
// Defer action until Modal's onDismiss fires to avoid
|
|
51
|
+
// "Attempt to present on a VC which is already presenting"
|
|
52
|
+
pendingAction.current = action;
|
|
53
|
+
setVisible(false);
|
|
54
|
+
} else {
|
|
55
|
+
setVisible(false);
|
|
56
|
+
action();
|
|
57
|
+
}
|
|
58
|
+
}, [slideAnim]);
|
|
59
|
+
const handlePickImage = (0, _react.useCallback)(async () => {
|
|
60
|
+
dismissAndRun(async () => {
|
|
61
|
+
try {
|
|
62
|
+
const assets = await (0, _NativeComnyxMediaPicker.pickImage)();
|
|
63
|
+
if (assets.length > 0) onMediaSelected(assets);
|
|
64
|
+
} catch (e) {
|
|
65
|
+
console.error('[Comnyx] pickImage error:', e);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}, [dismissAndRun, onMediaSelected]);
|
|
69
|
+
const handlePickVideo = (0, _react.useCallback)(async () => {
|
|
70
|
+
dismissAndRun(async () => {
|
|
71
|
+
try {
|
|
72
|
+
const assets = await (0, _NativeComnyxMediaPicker.pickVideo)();
|
|
73
|
+
if (assets.length > 0) onMediaSelected(assets);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
console.error('[Comnyx] pickVideo error:', e);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}, [dismissAndRun, onMediaSelected]);
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
81
|
+
style: styles.button,
|
|
82
|
+
onPress: open,
|
|
83
|
+
activeOpacity: _activeOpacity.activeOpacity,
|
|
84
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
85
|
+
source: paperclipIcon,
|
|
86
|
+
style: [styles.icon, {
|
|
87
|
+
tintColor: themeColors.text
|
|
88
|
+
}]
|
|
89
|
+
})
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
91
|
+
visible: visible,
|
|
92
|
+
transparent: true,
|
|
93
|
+
animationType: "none",
|
|
94
|
+
onRequestClose: close,
|
|
95
|
+
onDismiss: () => {
|
|
96
|
+
if (pendingAction.current) {
|
|
97
|
+
const action = pendingAction.current;
|
|
98
|
+
pendingAction.current = null;
|
|
99
|
+
action();
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
statusBarTranslucent: true,
|
|
103
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
104
|
+
onPress: close,
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
106
|
+
style: styles.overlay,
|
|
107
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
108
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
109
|
+
style: [styles.sheet, {
|
|
110
|
+
backgroundColor: themeColors.background,
|
|
111
|
+
transform: [{
|
|
112
|
+
translateY: slideAnim
|
|
113
|
+
}]
|
|
114
|
+
}],
|
|
115
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
116
|
+
style: styles.handle
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
118
|
+
style: styles.titleRow,
|
|
119
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AppText.AppText, {
|
|
120
|
+
style: [styles.title, {
|
|
121
|
+
color: themeColors.text
|
|
122
|
+
}],
|
|
123
|
+
children: localize('chat.media.pick.title')
|
|
124
|
+
}), _reactNative.Platform.OS === 'android' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
125
|
+
onPress: close,
|
|
126
|
+
activeOpacity: _activeOpacity.activeOpacity,
|
|
127
|
+
style: styles.closeButton,
|
|
128
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
129
|
+
source: closeCircleIcon,
|
|
130
|
+
style: styles.closeIcon
|
|
131
|
+
})
|
|
132
|
+
})]
|
|
133
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
134
|
+
style: styles.option,
|
|
135
|
+
onPress: handlePickImage,
|
|
136
|
+
activeOpacity: _activeOpacity.activeOpacity,
|
|
137
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
138
|
+
source: galleryIcon,
|
|
139
|
+
style: [styles.optionIcon, {
|
|
140
|
+
tintColor: themeColors.text
|
|
141
|
+
}]
|
|
142
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppText.AppText, {
|
|
143
|
+
style: [styles.optionText, {
|
|
144
|
+
color: themeColors.text
|
|
145
|
+
}],
|
|
146
|
+
children: localize('chat.media.pick.photo')
|
|
147
|
+
})]
|
|
148
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
149
|
+
style: styles.option,
|
|
150
|
+
onPress: handlePickVideo,
|
|
151
|
+
activeOpacity: _activeOpacity.activeOpacity,
|
|
152
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
153
|
+
source: videoPlayIcon,
|
|
154
|
+
style: [styles.optionIcon, {
|
|
155
|
+
tintColor: themeColors.text
|
|
156
|
+
}]
|
|
157
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppText.AppText, {
|
|
158
|
+
style: [styles.optionText, {
|
|
159
|
+
color: themeColors.text
|
|
160
|
+
}],
|
|
161
|
+
children: localize('chat.media.pick.video')
|
|
162
|
+
})]
|
|
163
|
+
})]
|
|
164
|
+
})
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
})
|
|
168
|
+
})]
|
|
33
169
|
});
|
|
34
170
|
}
|
|
35
171
|
const styles = _ScaledSheet.ScaledSheet.create({
|
|
@@ -42,6 +178,67 @@ const styles = _ScaledSheet.ScaledSheet.create({
|
|
|
42
178
|
icon: {
|
|
43
179
|
width: '28@vs',
|
|
44
180
|
height: '28@vs'
|
|
181
|
+
},
|
|
182
|
+
overlay: {
|
|
183
|
+
flex: 1,
|
|
184
|
+
backgroundColor: 'rgba(0,0,0,0.4)',
|
|
185
|
+
justifyContent: 'flex-end'
|
|
186
|
+
},
|
|
187
|
+
sheet: {
|
|
188
|
+
borderTopLeftRadius: '16@vs',
|
|
189
|
+
borderTopRightRadius: '16@vs',
|
|
190
|
+
paddingBottom: '34@vs',
|
|
191
|
+
paddingTop: '12@vs',
|
|
192
|
+
paddingHorizontal: '20@s'
|
|
193
|
+
},
|
|
194
|
+
handle: {
|
|
195
|
+
width: '36@s',
|
|
196
|
+
height: '4@vs',
|
|
197
|
+
backgroundColor: '#ccc',
|
|
198
|
+
borderRadius: '2@vs',
|
|
199
|
+
alignSelf: 'center',
|
|
200
|
+
marginBottom: '16@vs'
|
|
201
|
+
},
|
|
202
|
+
titleRow: {
|
|
203
|
+
flexDirection: 'row',
|
|
204
|
+
justifyContent: 'space-between',
|
|
205
|
+
alignItems: 'center',
|
|
206
|
+
marginBottom: '16@vs'
|
|
207
|
+
},
|
|
208
|
+
title: {
|
|
209
|
+
fontSize: '18@vs',
|
|
210
|
+
fontWeight: '600'
|
|
211
|
+
},
|
|
212
|
+
closeButton: {
|
|
213
|
+
padding: '4@vs'
|
|
214
|
+
},
|
|
215
|
+
closeIcon: {
|
|
216
|
+
width: '22@vs',
|
|
217
|
+
height: '22@vs'
|
|
218
|
+
},
|
|
219
|
+
optionIcon: {
|
|
220
|
+
width: '24@vs',
|
|
221
|
+
height: '24@vs',
|
|
222
|
+
marginRight: '12@s'
|
|
223
|
+
},
|
|
224
|
+
option: {
|
|
225
|
+
paddingVertical: '14@vs',
|
|
226
|
+
flexDirection: 'row',
|
|
227
|
+
alignItems: 'center'
|
|
228
|
+
},
|
|
229
|
+
optionText: {
|
|
230
|
+
fontSize: '16@vs'
|
|
231
|
+
},
|
|
232
|
+
cancelButton: {
|
|
233
|
+
marginTop: '8@vs',
|
|
234
|
+
paddingVertical: '14@vs',
|
|
235
|
+
alignItems: 'center',
|
|
236
|
+
borderTopWidth: 0.5,
|
|
237
|
+
borderTopColor: '#ddd'
|
|
238
|
+
},
|
|
239
|
+
cancelText: {
|
|
240
|
+
fontSize: '16@vs',
|
|
241
|
+
opacity: 0.6
|
|
45
242
|
}
|
|
46
243
|
});
|
|
47
244
|
//# sourceMappingURL=MediaPickerButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","_useThemeColors","_ScaledSheet","_activeOpacity","_NativeComnyxMediaPicker","_jsxRuntime","paperclipIcon","MediaPickerButton","onMediaSelected","themeColors","useThemeColors","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_useThemeColors","_ScaledSheet","_activeOpacity","_NativeComnyxMediaPicker","_AppText","_useLocalize","_jsxRuntime","paperclipIcon","galleryIcon","videoPlayIcon","closeCircleIcon","SCREEN_HEIGHT","Dimensions","get","height","MediaPickerButton","onMediaSelected","themeColors","useThemeColors","localize","useLocalize","visible","setVisible","useState","slideAnim","useRef","Animated","Value","current","open","useCallback","spring","toValue","useNativeDriver","bounciness","speed","start","close","timing","duration","pendingAction","dismissAndRun","action","setValue","Platform","OS","handlePickImage","assets","pickImage","length","e","console","error","handlePickVideo","pickVideo","jsxs","Fragment","children","jsx","TouchableOpacity","style","styles","button","onPress","activeOpacity","Image","source","icon","tintColor","text","Modal","transparent","animationType","onRequestClose","onDismiss","statusBarTranslucent","TouchableWithoutFeedback","View","overlay","sheet","backgroundColor","background","transform","translateY","handle","titleRow","AppText","title","color","closeButton","closeIcon","option","optionIcon","optionText","ScaledSheet","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":[]}
|
|
@@ -25,6 +25,12 @@ function MediaViewerModal({
|
|
|
25
25
|
const [imageError, setImageError] = (0, _react.useState)(false);
|
|
26
26
|
const isVideo = mediaType === 'video';
|
|
27
27
|
const displayUri = isVideo ? thumbnailUri || undefined : mediaUri;
|
|
28
|
+
// Reset error state when URI or visibility changes
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
if (visible) {
|
|
31
|
+
setImageError(false);
|
|
32
|
+
}
|
|
33
|
+
}, [visible, mediaUri]);
|
|
28
34
|
const handlePlayVideo = () => {
|
|
29
35
|
if (mediaUri) {
|
|
30
36
|
(0, _NativeComnyxMediaPicker.openVideo)(mediaUri).catch(err => console.warn('[Comnyx] Could not open video:', err));
|
|
@@ -63,6 +69,7 @@ function MediaViewerModal({
|
|
|
63
69
|
height: height * 0.9
|
|
64
70
|
},
|
|
65
71
|
resizeMode: "contain",
|
|
72
|
+
resizeMethod: "resize",
|
|
66
73
|
onError: () => setImageError(true)
|
|
67
74
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
68
75
|
style: [styles.placeholder, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","_AppText","_ScaledSheet","_activeOpacity","_NativeComnyxMediaPicker","_jsxRuntime","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","useWindowDimensions","imageError","setImageError","useState","isVideo","displayUri","undefined","handlePlayVideo","openVideo","catch","err","console","warn","jsxs","Modal","transparent","animationType","onRequestClose","statusBarTranslucent","children","jsx","StatusBar","backgroundColor","barStyle","View","style","styles","overlay","TouchableOpacity","closeButton","onPress","activeOpacity","AppText","closeIcon","mediaContainer","Image","source","uri","resizeMode","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","ScaledSheet","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,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AAAuD,IAAAM,WAAA,GAAAN,OAAA;AAEhD,SAASO,gBAAgBA,CAAC;EAC/BC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC;AAOF,CAAC,EAAE;EACD,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAC/C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACnD,MAAMC,OAAO,GAAGR,SAAS,KAAK,OAAO;EACrC,MAAMS,UAAU,GAAGD,OAAO,GAAGP,YAAY,IAAIS,SAAS,GAAGX,QAAQ;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_AppText","_ScaledSheet","_activeOpacity","_NativeComnyxMediaPicker","_jsxRuntime","MediaViewerModal","visible","onClose","mediaUri","mediaType","thumbnailUri","width","height","useWindowDimensions","imageError","setImageError","useState","isVideo","displayUri","undefined","useEffect","handlePlayVideo","openVideo","catch","err","console","warn","jsxs","Modal","transparent","animationType","onRequestClose","statusBarTranslucent","children","jsx","StatusBar","backgroundColor","barStyle","View","style","styles","overlay","TouchableOpacity","closeButton","onPress","activeOpacity","AppText","closeIcon","mediaContainer","Image","source","uri","resizeMode","resizeMethod","onError","placeholder","placeholderIcon","playOverlay","playButton","playIcon","ScaledSheet","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":[]}
|
|
@@ -138,7 +138,6 @@ function TextMessageItem({
|
|
|
138
138
|
regex: /https?:\/\/(?:[-\w.])+(?::[0-9]+)?(?:\/(?:[\w/_.])*(?:\?(?:[\w&=%.])*)?(?:#(?:[\w.])*)?)?/g,
|
|
139
139
|
color: '#0066CC',
|
|
140
140
|
navigate: url => {
|
|
141
|
-
console.log('url', url);
|
|
142
141
|
if (url) {
|
|
143
142
|
_reactNative.Linking.openURL(url);
|
|
144
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_AppText","_useThemeColors","_react","_ScaledSheet","_store","_LinkifyText","_MediaMessageItem","_jsxRuntime","clockIcon","infoIcon","MessageItem","item","onShowPopup","media_url","media_local_uri","media_files","length","jsx","MediaMessageItem","TextMessageItem","themeColors","useThemeColors","isDeviceOwner","user","bot","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","toastMessage","setToastMessage","useAppStore","s","layoutRef","useRef","lines","lastLineWidth","totalWidth","layoutComplete","setLayoutComplete","useState","renderFooterContent","error","Image","source","style","styles","approved","AppText","timestamp","rightTimestamp","leftTimestamp","color","text","children","onTextLayout","event","nativeEvent","numLines","width","Math","max","map","line","current","useEffect","content","hasSpaceInLastLine","isSingleLineWithSpace","isMultiLineWithSpace","shouldShowInlineFooter","TouchableOpacity","messageItem","rightMessage","leftMessage","activeOpacity","delayLongPress","onLongPress","setTimeout","onPress","jsxs","View","messageBubble","backgroundColor","light_green","ghost","inlineContainer","multiLineContainer","selectable","messageText","rightMessageText","leftMessageText","LinkifyText","patterns","regex","navigate","url","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_AppText","_useThemeColors","_react","_ScaledSheet","_store","_LinkifyText","_MediaMessageItem","_jsxRuntime","clockIcon","infoIcon","MessageItem","item","onShowPopup","media_url","media_local_uri","media_files","length","jsx","MediaMessageItem","TextMessageItem","themeColors","useThemeColors","isDeviceOwner","user","bot","formattedDate","Date","created_at","toLocaleTimeString","hour","minute","toastMessage","setToastMessage","useAppStore","s","layoutRef","useRef","lines","lastLineWidth","totalWidth","layoutComplete","setLayoutComplete","useState","renderFooterContent","error","Image","source","style","styles","approved","AppText","timestamp","rightTimestamp","leftTimestamp","color","text","children","onTextLayout","event","nativeEvent","numLines","width","Math","max","map","line","current","useEffect","content","hasSpaceInLastLine","isSingleLineWithSpace","isMultiLineWithSpace","shouldShowInlineFooter","TouchableOpacity","messageItem","rightMessage","leftMessage","activeOpacity","delayLongPress","onLongPress","setTimeout","onPress","jsxs","View","messageBubble","backgroundColor","light_green","ghost","inlineContainer","multiLineContainer","selectable","messageText","rightMessageText","leftMessageText","LinkifyText","patterns","regex","navigate","url","Linking","openURL","inlineFooter","lastLineFooter","footer","id","ScaledSheet","create","maxWidth","minHeight","minWidth","marginVertical","alignSelf","paddingVertical","paddingHorizontal","borderRadius","flexDirection","justifyContent","alignItems","fontSize","flexShrink","marginTop","marginLeft","secondLineFooter","position","bottom","right","opacity","height","iconContainer"],"sourceRoot":"../../../src","sources":["components/MessageItem.tsx"],"mappings":"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","ignoreList":[]}
|