diff --git a/app/views/ChangeAvatarView/ImagePicker.mock.ts b/app/views/ChangeAvatarView/ImagePicker.mock.ts index e03679862..481338a92 100644 --- a/app/views/ChangeAvatarView/ImagePicker.mock.ts +++ b/app/views/ChangeAvatarView/ImagePicker.mock.ts @@ -31,6 +31,31 @@ export function openPicker(_options: any): Promise { }); } +export function openCamera(_options: any): Promise { + return Promise.resolve({ + exif: null, + filename: 'IMG_0007.PNG', + path: `/tmp/react-native-image-crop-picker/${random(20)}.jpg`, + height: 152, + width: 152, + data: mockImageRocketBase64, + modificationDate: null, + localIdentifier: 'CEEE9916-81FD-4544-9D86-7044DB6C4374/L0/001', + size: 5006, + sourceURL: `/tmp/react-native-image-crop-picker/${random(20)}.jpg`, + mime: 'image/jpeg', + cropRect: { + width: 152, + height: 152, + x: 134, + y: 0 + }, + duration: null, + creationDate: '1679327100' + }); +} + export default { - openPicker + openPicker, + openCamera }; diff --git a/app/views/ChangeAvatarView/index.tsx b/app/views/ChangeAvatarView/index.tsx index 9f8c65d54..abf2f7637 100644 --- a/app/views/ChangeAvatarView/index.tsx +++ b/app/views/ChangeAvatarView/index.tsx @@ -130,7 +130,7 @@ const ChangeAvatarView = () => { return navigation.goBack(); }; - const pickImage = async () => { + const pickImage = async (isCam = false) => { const options = { cropping: true, compressImageQuality: 0.8, @@ -138,10 +138,11 @@ const ChangeAvatarView = () => { cropperAvoidEmptySpaceAroundImage: false, cropperChooseText: I18n.t('Choose'), cropperCancelText: I18n.t('Cancel'), - includeBase64: true + includeBase64: true, + useFrontCamera: isCam }; try { - const response: Image = await ImagePicker.openPicker(options); + const response: Image = isCam === true ? await ImagePicker.openCamera(options) : await ImagePicker.openPicker(options); dispatchAvatar({ type: AvatarStateActions.CHANGE_AVATAR, payload: { url: response.path, data: `data:image/jpeg;base64,${response.data}`, service: 'upload' } @@ -217,6 +218,14 @@ const ChangeAvatarView = () => { } /> ) : null} +