From e86188000147e0178ac6ca971f061b37daa40132 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 1 Feb 2026 19:43:32 +0000 Subject: fix(mobile): migrate from RN image to expo-image --- .../components/bookmarks/BookmarkAssetImage.tsx | 15 ++++++- .../components/bookmarks/BookmarkAssetView.tsx | 2 +- apps/mobile/components/bookmarks/BookmarkCard.tsx | 52 ++++++++++++---------- .../components/bookmarks/BookmarkLinkPreview.tsx | 3 +- apps/mobile/components/ui/Avatar.tsx | 9 ++-- 5 files changed, 49 insertions(+), 32 deletions(-) (limited to 'apps/mobile/components') diff --git a/apps/mobile/components/bookmarks/BookmarkAssetImage.tsx b/apps/mobile/components/bookmarks/BookmarkAssetImage.tsx index 8fa88c8b..35726e4b 100644 --- a/apps/mobile/components/bookmarks/BookmarkAssetImage.tsx +++ b/apps/mobile/components/bookmarks/BookmarkAssetImage.tsx @@ -1,14 +1,25 @@ -import { Image } from "react-native"; +import { View } from "react-native"; +import { Image, ImageContentFit } from "expo-image"; import { useAssetUrl } from "@/lib/hooks"; export default function BookmarkAssetImage({ assetId, className, + contentFit = "cover", }: { assetId: string; className: string; + contentFit?: ImageContentFit; }) { const assetSource = useAssetUrl(assetId); - return ; + return ( + + + + ); } diff --git a/apps/mobile/components/bookmarks/BookmarkAssetView.tsx b/apps/mobile/components/bookmarks/BookmarkAssetView.tsx index 5fe2f470..e009a027 100644 --- a/apps/mobile/components/bookmarks/BookmarkAssetView.tsx +++ b/apps/mobile/components/bookmarks/BookmarkAssetView.tsx @@ -48,7 +48,7 @@ export default function BookmarkAssetView({ setImageZoom(true)}> diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx index 41e57f89..cd0ea445 100644 --- a/apps/mobile/components/bookmarks/BookmarkCard.tsx +++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx @@ -1,7 +1,6 @@ import { ActivityIndicator, Alert, - Image, Platform, Pressable, ScrollView, @@ -11,6 +10,7 @@ import { import * as Clipboard from "expo-clipboard"; import * as FileSystem from "expo-file-system/legacy"; import * as Haptics from "expo-haptics"; +import { Image } from "expo-image"; import { router, useRouter } from "expo-router"; import * as Sharing from "expo-sharing"; import { Text } from "@/components/ui/Text"; @@ -317,30 +317,36 @@ function LinkCard({ let imageComp; if (imageUrl) { imageComp = ( - + + + ); } else { imageComp = ( - + + + ); } @@ -444,7 +450,7 @@ function AssetCard({ diff --git a/apps/mobile/components/bookmarks/BookmarkLinkPreview.tsx b/apps/mobile/components/bookmarks/BookmarkLinkPreview.tsx index fe27836a..57e00c24 100644 --- a/apps/mobile/components/bookmarks/BookmarkLinkPreview.tsx +++ b/apps/mobile/components/bookmarks/BookmarkLinkPreview.tsx @@ -228,7 +228,8 @@ export function BookmarkLinkScreenshotPreview({ setImageZoom(true)}> diff --git a/apps/mobile/components/ui/Avatar.tsx b/apps/mobile/components/ui/Avatar.tsx index 923c634e..ed31df23 100644 --- a/apps/mobile/components/ui/Avatar.tsx +++ b/apps/mobile/components/ui/Avatar.tsx @@ -1,5 +1,6 @@ import * as React from "react"; -import { Image, View } from "react-native"; +import { View } from "react-native"; +import { Image } from "expo-image"; import { Text } from "@/components/ui/Text"; import { useAssetUrl } from "@/lib/hooks"; import { cn } from "@/lib/utils"; @@ -9,7 +10,6 @@ interface AvatarProps { name?: string | null; size?: number; className?: string; - imageClassName?: string; fallbackClassName?: string; } @@ -22,7 +22,6 @@ export function Avatar({ name, size = 40, className, - imageClassName, fallbackClassName, }: AvatarProps) { const [imageError, setImageError] = React.useState(false); @@ -78,8 +77,8 @@ export function Avatar({ ) : ( setImageError(true)} /> )} -- cgit v1.2.3-70-g09d2