From 1faf2342553f4c6d5605c06e97051aef0b817142 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Thu, 31 Aug 2023 16:06:57 +0200 Subject: [PATCH] Use react-native fast images and blurhash on mobile --- front/apps/mobile/package.json | 1 + front/packages/primitives/package.json | 8 ++- front/packages/primitives/src/avatar.tsx | 2 +- .../primitives/src/image/base-image.tsx | 11 ++- front/packages/primitives/src/image/image.tsx | 67 +++++++++---------- .../primitives/src/image/image.web.tsx | 15 +++-- front/packages/primitives/src/image/index.tsx | 34 +++++----- front/yarn.lock | 20 ++++++ 8 files changed, 93 insertions(+), 65 deletions(-) diff --git a/front/apps/mobile/package.json b/front/apps/mobile/package.json index b3515a8f..537a2196 100644 --- a/front/apps/mobile/package.json +++ b/front/apps/mobile/package.json @@ -43,6 +43,7 @@ "react-i18next": "^13.0.3", "react-native": "0.72.3", "react-native-blurhash": "^1.1.11", + "react-native-fast-image": "^8.6.3", "react-native-mmkv": "^2.10.1", "react-native-reanimated": "~3.3.0", "react-native-safe-area-context": "4.6.3", diff --git a/front/packages/primitives/package.json b/front/packages/primitives/package.json index 78e643d1..b66e6948 100644 --- a/front/packages/primitives/package.json +++ b/front/packages/primitives/package.json @@ -18,6 +18,7 @@ "react": "*", "react-native": "*", "react-native-blurhash": "*", + "react-native-fast-image": "*", "react-native-reanimated": "*", "react-native-svg": "*", "yoshiki": "*" @@ -35,6 +36,9 @@ "react-native-blurhash": { "optional": true }, + "react-native-fast-image": { + "optional": true + }, "react-native-web": { "optional": true } @@ -45,6 +49,8 @@ "solito": "^4.0.1" }, "optionalDependencies": { - "blurhash": "^2.0.5" + "blurhash": "^2.0.5", + "react-native-blurhash": "^1.1.11", + "react-native-fast-image": "^8.6.3" } } diff --git a/front/packages/primitives/src/avatar.tsx b/front/packages/primitives/src/avatar.tsx index 271fbf3d..5735b3f9 100644 --- a/front/packages/primitives/src/avatar.tsx +++ b/front/packages/primitives/src/avatar.tsx @@ -55,7 +55,7 @@ export const Avatar = forwardRef< fill?: boolean; as?: ComponentType<{ style?: ViewStyle } & RefAttributes>; } & Stylable ->(function _Avatar( +>(function Avatar( { src, alt, size = px(24), color, placeholder, isLoading = false, fill = false, as, ...props }, ref, ) { diff --git a/front/packages/primitives/src/image/base-image.tsx b/front/packages/primitives/src/image/base-image.tsx index 6105ab54..5aaa3a45 100644 --- a/front/packages/primitives/src/image/base-image.tsx +++ b/front/packages/primitives/src/image/base-image.tsx @@ -19,10 +19,8 @@ */ import { KyooImage } from "@kyoo/models"; -import { - Image as Img, - ImageStyle, -} from "react-native"; +import { ReactElement } from "react"; +import { ImageStyle } from "react-native"; import { YoshikiStyle } from "yoshiki/src/type"; export type YoshikiEnhanced