From 521ec8e044e58633530e1864e7abc6e22554d7d3 Mon Sep 17 00:00:00 2001 From: hailey Date: Tue, 6 May 2025 10:54:08 -0700 Subject: swap out cropper library (#8327) * mostly implement * type errors * unused import * rm comment * stop accidentally deleting the image while compressing * upgrade * type fixes * upgrade, remove timeout * bump * rm mock * bump --------- Co-authored-by: Samuel Newman --- __mocks__/react-native-image-crop-picker.js | 9 ---- package.json | 2 +- .../react-native-image-crop-picker+0.42.0.patch | 48 ---------------------- src/lib/media/manip.ts | 25 +++++++---- src/lib/media/manip.web.ts | 14 ++++--- src/lib/media/picker.e2e.tsx | 17 ++++---- src/lib/media/picker.shared.ts | 11 ++++- src/lib/media/picker.tsx | 48 +++++++++++----------- src/lib/media/picker.web.tsx | 26 ++++++------ src/lib/media/types.ts | 7 ---- src/screens/Onboarding/StepProfile/index.tsx | 8 ++-- src/screens/Profile/Header/EditProfileDialog.tsx | 10 ++--- src/state/gallery.ts | 16 +------- src/state/modals/index.tsx | 4 +- src/state/queries/list.ts | 22 +++++----- src/state/queries/profile.ts | 6 +-- src/view/com/composer/photos/OpenCameraBtn.tsx | 4 +- src/view/com/modals/CreateOrEditList.tsx | 6 +-- src/view/com/modals/CropImage.web.tsx | 6 +-- src/view/com/modals/EditProfile.tsx | 10 ++--- src/view/com/util/UserAvatar.tsx | 31 +++++++------- src/view/com/util/UserBanner.tsx | 20 ++++----- yarn.lock | 10 ++--- 23 files changed, 145 insertions(+), 215 deletions(-) delete mode 100644 __mocks__/react-native-image-crop-picker.js delete mode 100644 patches/react-native-image-crop-picker+0.42.0.patch diff --git a/__mocks__/react-native-image-crop-picker.js b/__mocks__/react-native-image-crop-picker.js deleted file mode 100644 index 9f901dfac..000000000 --- a/__mocks__/react-native-image-crop-picker.js +++ /dev/null @@ -1,9 +0,0 @@ -export const openPicker = jest - .fn() - .mockImplementation(() => Promise.resolve({uri: ''})) -export const openCamera = jest - .fn() - .mockImplementation(() => Promise.resolve({uri: ''})) -export const openCropper = jest - .fn() - .mockImplementation(() => Promise.resolve({uri: ''})) diff --git a/package.json b/package.json index 5d308958e..5a3a80186 100644 --- a/package.json +++ b/package.json @@ -142,6 +142,7 @@ "expo-font": "~13.3.0", "expo-haptics": "~14.1.4", "expo-image": "~2.1.6", + "expo-image-crop-tool": "^0.1.7", "expo-image-manipulator": "~13.1.5", "expo-image-picker": "~16.1.4", "expo-linear-gradient": "~14.1.4", @@ -188,7 +189,6 @@ "react-native-edge-to-edge": "^1.6.0", "react-native-gesture-handler": "2.25.0", "react-native-get-random-values": "~1.11.0", - "react-native-image-crop-picker": "^0.42.0", "react-native-ios-context-menu": "^1.15.3", "react-native-keyboard-controller": "^1.17.1", "react-native-mmkv": "^2.12.2", diff --git a/patches/react-native-image-crop-picker+0.42.0.patch b/patches/react-native-image-crop-picker+0.42.0.patch deleted file mode 100644 index c6124ad1e..000000000 --- a/patches/react-native-image-crop-picker+0.42.0.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml -index a08629b..fab6299 100644 ---- a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml -+++ b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml -@@ -24,7 +24,7 @@ - - -+ android:theme="@style/Theme.UCropNoEdgeToEdge" /> - - - -diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml -new file mode 100644 -index 0000000..5301f74 ---- /dev/null -+++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml -@@ -0,0 +1,5 @@ -+ -+ -+ -\ No newline at end of file -diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml -new file mode 100644 -index 0000000..55569aa ---- /dev/null -+++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml -@@ -0,0 +1,3 @@ -+ -+