From e9b13302495e49b5fcfe0d95efc2703291823bb0 Mon Sep 17 00:00:00 2001 From: Oleksii Bulenok Date: Fri, 31 Jul 2026 11:06:08 +0200 Subject: [PATCH] Use legacy ExpoMediaLibrary API to fix web import errors --- src/components/StarterPack/QrCodeDialog.tsx | 5 ++++- src/features/inviteFriends/InviteFriendsDialogInner.tsx | 5 ++++- src/lib/hooks/usePermissions.ts | 2 +- src/lib/media/manip.ts | 2 +- src/lib/media/save-image.ts | 2 +- src/view/com/composer/photos/OpenCameraBtn.tsx | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/StarterPack/QrCodeDialog.tsx b/src/components/StarterPack/QrCodeDialog.tsx index 51e95fa292..5ff6213825 100644 --- a/src/components/StarterPack/QrCodeDialog.tsx +++ b/src/components/StarterPack/QrCodeDialog.tsx @@ -1,7 +1,10 @@ import {Suspense, useRef, useState} from 'react' import {View} from 'react-native' import {type ViewShotRef} from 'react-native-view-shot' -import {requestPermissionsAsync, saveToLibraryAsync} from 'expo-media-library' +import { + requestPermissionsAsync, + saveToLibraryAsync, +} from 'expo-media-library/legacy' import * as Sharing from 'expo-sharing' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' diff --git a/src/features/inviteFriends/InviteFriendsDialogInner.tsx b/src/features/inviteFriends/InviteFriendsDialogInner.tsx index 00fd9ac072..c29aef39fd 100644 --- a/src/features/inviteFriends/InviteFriendsDialogInner.tsx +++ b/src/features/inviteFriends/InviteFriendsDialogInner.tsx @@ -2,7 +2,10 @@ import {Suspense, useRef} from 'react' import {Pressable, View} from 'react-native' import {type ViewShotRef} from 'react-native-view-shot' import {setStringAsync} from 'expo-clipboard' -import {requestPermissionsAsync, saveToLibraryAsync} from 'expo-media-library' +import { + requestPermissionsAsync, + saveToLibraryAsync, +} from 'expo-media-library/legacy' import {useLingui} from '@lingui/react/macro' import {useNavigation} from '@react-navigation/native' diff --git a/src/lib/hooks/usePermissions.ts b/src/lib/hooks/usePermissions.ts index f30c647b1b..30494acf48 100644 --- a/src/lib/hooks/usePermissions.ts +++ b/src/lib/hooks/usePermissions.ts @@ -1,6 +1,6 @@ import {Linking} from 'react-native' import {useCameraPermissions as useExpoCameraPermissions} from 'expo-camera' -import * as MediaLibrary from 'expo-media-library' +import * as MediaLibrary from 'expo-media-library/legacy' import {Alert} from '#/view/com/util/Alert' import {IS_WEB} from '#/env' diff --git a/src/lib/media/manip.ts b/src/lib/media/manip.ts index 84ab65af92..904e3c48ca 100644 --- a/src/lib/media/manip.ts +++ b/src/lib/media/manip.ts @@ -13,7 +13,7 @@ import { writeAsStringAsync, } from 'expo-file-system/legacy' import {manipulateAsync, SaveFormat} from 'expo-image-manipulator' -import * as MediaLibrary from 'expo-media-library' +import * as MediaLibrary from 'expo-media-library/legacy' import * as Sharing from 'expo-sharing' import {logger} from '#/logger' diff --git a/src/lib/media/save-image.ts b/src/lib/media/save-image.ts index bf48d8e685..b841bee754 100644 --- a/src/lib/media/save-image.ts +++ b/src/lib/media/save-image.ts @@ -1,5 +1,5 @@ import {useCallback} from 'react' -import * as MediaLibrary from 'expo-media-library' +import * as MediaLibrary from 'expo-media-library/legacy' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react' diff --git a/src/view/com/composer/photos/OpenCameraBtn.tsx b/src/view/com/composer/photos/OpenCameraBtn.tsx index cf087b59bb..ec02daa7d7 100644 --- a/src/view/com/composer/photos/OpenCameraBtn.tsx +++ b/src/view/com/composer/photos/OpenCameraBtn.tsx @@ -1,5 +1,5 @@ import {useCallback} from 'react' -import * as MediaLibrary from 'expo-media-library' +import * as MediaLibrary from 'expo-media-library/legacy' import {msg} from '@lingui/core/macro' import {useLingui} from '@lingui/react'