diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-12-14 15:35:15 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-12-14 15:35:15 -0600 |
commit | 4966b2152eb213bac34cbcb0ff01c246b7746f5c (patch) | |
tree | 5cc90408631c984018f1b5a4b06f428d3d31d4a5 /src/view/com/composer/PhotoCarouselPicker.tsx | |
parent | 345ec83f26e209929ca86b3885227e8508fb2cb8 (diff) | |
download | voidsky-4966b2152eb213bac34cbcb0ff01c246b7746f5c.tar.zst |
Add post embeds (images and external links)
Diffstat (limited to 'src/view/com/composer/PhotoCarouselPicker.tsx')
-rw-r--r-- | src/view/com/composer/PhotoCarouselPicker.tsx | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/view/com/composer/PhotoCarouselPicker.tsx b/src/view/com/composer/PhotoCarouselPicker.tsx index f4af4c61e..7095e9dd1 100644 --- a/src/view/com/composer/PhotoCarouselPicker.tsx +++ b/src/view/com/composer/PhotoCarouselPicker.tsx @@ -8,48 +8,54 @@ import { openCropper, } from 'react-native-image-crop-picker' +const IMAGE_PARAMS = { + width: 500, + height: 500, + freeStyleCropEnabled: true, + forceJpg: true, // ios only + compressImageQuality: 0.7, +} + export const PhotoCarouselPicker = ({ selectedPhotos, - setSelectedPhotos, + onSelectPhotos, localPhotos, }: { selectedPhotos: string[] - setSelectedPhotos: React.Dispatch<React.SetStateAction<string[]>> + onSelectPhotos: (v: string[]) => void localPhotos: any }) => { const handleOpenCamera = useCallback(() => { openCamera({ mediaType: 'photo', cropping: true, - width: 1000, - height: 1000, + ...IMAGE_PARAMS, }).then( item => { - setSelectedPhotos([item.path, ...selectedPhotos]) + onSelectPhotos([item.path, ...selectedPhotos]) }, _err => { // ignore }, ) - }, [selectedPhotos, setSelectedPhotos]) + }, [selectedPhotos, onSelectPhotos]) const handleSelectPhoto = useCallback( async (uri: string) => { const img = await openCropper({ mediaType: 'photo', path: uri, - width: 1000, - height: 1000, + ...IMAGE_PARAMS, }) - setSelectedPhotos([img.path, ...selectedPhotos]) + onSelectPhotos([img.path, ...selectedPhotos]) }, - [selectedPhotos, setSelectedPhotos], + [selectedPhotos, onSelectPhotos], ) const handleOpenGallery = useCallback(() => { openPicker({ multiple: true, - maxFiles: 4, + maxFiles: 4 - selectedPhotos.length, mediaType: 'photo', }).then(async items => { const result = [] @@ -58,14 +64,13 @@ export const PhotoCarouselPicker = ({ const img = await openCropper({ mediaType: 'photo', path: image.path, - width: 1000, - height: 1000, + ...IMAGE_PARAMS, }) result.push(img.path) } - setSelectedPhotos([...result, ...selectedPhotos]) + onSelectPhotos([...result, ...selectedPhotos]) }) - }, [selectedPhotos, setSelectedPhotos]) + }, [selectedPhotos, onSelectPhotos]) return ( <ScrollView |