Skip to content

Commit 7617d34

Browse files
committed
fix: respect max file size config for pick image API
1 parent 87a1749 commit 7617d34

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

package/expo-package/src/optionalDependencies/pickImage.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Platform } from 'react-native';
2+
import { PickImageOptions } from 'stream-chat-react-native-core';
23
let ImagePicker;
34

45
try {
@@ -14,7 +15,7 @@ if (!ImagePicker) {
1415
}
1516

1617
export const pickImage = ImagePicker
17-
? async () => {
18+
? async ({ maxNumberOfFiles }: PickImageOptions = {}) => {
1819
try {
1920
let permissionGranted = true;
2021
if (Platform.OS === 'ios') {
@@ -35,6 +36,7 @@ export const pickImage = ImagePicker
3536
allowsMultipleSelection: true,
3637
mediaTypes: ['images', 'videos'],
3738
preferredAssetRepresentationMode: 'current',
39+
selectionLimit: maxNumberOfFiles,
3840
});
3941

4042
const canceled = result.canceled;

package/native-package/src/optionalDependencies/pickImage.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Platform } from 'react-native';
2+
import { PickImageOptions } from 'stream-chat-react-native-core';
23
let ImagePicker;
34

45
try {
@@ -8,11 +9,12 @@ try {
89
}
910

1011
export const pickImage = ImagePicker
11-
? async () => {
12+
? async ({ maxNumberOfFiles }: PickImageOptions = {}) => {
1213
try {
1314
const result = await ImagePicker.launchImageLibrary({
1415
assetRepresentationMode: 'current',
1516
mediaType: 'mixed',
17+
selectionLimit: maxNumberOfFiles,
1618
});
1719
const canceled = result.didCancel;
1820
const errorCode = result.errorCode;

package/src/contexts/messageInputContext/MessageInputContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ export const MessageInputProvider = ({
495495
return;
496496
}
497497

498-
const result = await NativeHandlers.pickImage();
498+
const result = await NativeHandlers.pickImage({ maxNumberOfFiles: availableUploadSlots });
499499
if (result.askToOpenSettings) {
500500
Alert.alert(
501501
t('Allow access to your Gallery'),

package/src/native.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ type PickImageAssetType = {
5050
cancelled?: boolean;
5151
};
5252

53-
type PickImage = () => Promise<PickImageAssetType> | never;
53+
export type PickImageOptions = {
54+
maxNumberOfFiles?: number;
55+
};
56+
57+
type PickImage = (options?: PickImageOptions) => Promise<PickImageAssetType> | never;
5458

5559
type SaveFileOptions = {
5660
fileName: string;

0 commit comments

Comments
 (0)