diff options
author | dan <dan.abramov@gmail.com> | 2024-11-09 22:41:14 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-09 22:41:14 +0000 |
commit | 42abd97f61b6813ab7dc6126d167b4130532326a (patch) | |
tree | ed027d346a27170ce60862cbd6849bbc63302157 /src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx | |
parent | 2d73c5a24cf8ad06dbebcf44c8f4f053eedda5a4 (diff) | |
download | voidsky-42abd97f61b6813ab7dc6126d167b4130532326a.tar.zst |
[Lightbox] Always rely on Expo Image cache (#6189)
* Inline useImageAspectRatio * Switch AutoSizedImage to read dimensions from Expo Image cache * Include thumbnail dimensions in image data * Use dims from Expo Image cache in lightbox * Fix wiring so all thumbnails get dimensions * Fix type * Oops
Diffstat (limited to 'src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx')
-rw-r--r-- | src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx b/src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx index 7a9a18b91..e6ec64c3d 100644 --- a/src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx +++ b/src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx @@ -38,6 +38,7 @@ type Props = { onRequestClose: () => void onTap: () => void onZoom: (scaled: boolean) => void + onLoad: (dims: ImageDimensions) => void isScrollViewBeingDragged: boolean showControls: boolean measureSafeArea: () => { @@ -64,6 +65,7 @@ const ImageItem = ({ imageSrc, onTap, onZoom, + onLoad, showControls, measureSafeArea, imageAspect, @@ -162,8 +164,9 @@ const ImageItem = ({ transform: cropFrameTransform, width: screenSize.width, maxHeight: screenSize.height, - aspectRatio: imageAspect, alignSelf: 'center', + aspectRatio: imageAspect ?? 1 /* force onLoad */, + opacity: imageAspect === undefined ? 0 : 1, } }) @@ -172,7 +175,8 @@ const ImageItem = ({ return { transform: cropContentTransform, width: '100%', - aspectRatio: imageAspect, + aspectRatio: imageAspect ?? 1 /* force onLoad */, + opacity: imageAspect === undefined ? 0 : 1, } }) @@ -224,7 +228,10 @@ const ImageItem = ({ accessibilityHint="" enableLiveTextInteraction={showControls && !scaled} accessibilityIgnoresInvertColors - onLoad={() => setHasLoaded(true)} + onLoad={e => { + setHasLoaded(true) + onLoad({width: e.source.width, height: e.source.height}) + }} /> </Animated.View> </Animated.View> |