Skip to content

Commit a1ab3ea

Browse files
committed
update loading state
1 parent e13adb6 commit a1ab3ea

File tree

1 file changed

+8
-31
lines changed
  • src/components/TransactionItemRow/ReceiptPreview

1 file changed

+8
-31
lines changed

src/components/TransactionItemRow/ReceiptPreview/index.tsx

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, {useCallback, useEffect, useRef, useState} from 'react';
22
import ReactDOM from 'react-dom';
33
import type {LayoutChangeEvent} from 'react-native';
44
import {ActivityIndicator, StyleSheet, View} from 'react-native';
5-
import Animated, {FadeIn, FadeOut, useAnimatedStyle, useSharedValue, withTiming} from 'react-native-reanimated';
5+
import Animated, {FadeIn, FadeOut} from 'react-native-reanimated';
66
import DistanceEReceipt from '@components/DistanceEReceipt';
77
import EReceiptWithSizeCalculation from '@components/EReceiptWithSizeCalculation';
88
import type {ImageOnLoadEvent} from '@components/Image/types';
@@ -43,11 +43,7 @@ function ReceiptPreview({source, hovered, isEReceipt = false, transactionItem}:
4343
const hasMeasured = useRef(false);
4444
const {windowHeight} = useWindowDimensions();
4545
const [isLoading, setIsLoading] = useState(true);
46-
const containerHeight = useSharedValue(150);
4746

48-
const animatedContainerStyle = useAnimatedStyle(() => ({
49-
height: containerHeight.get(),
50-
}));
5147
const handleDistanceEReceiptLayout = (e: LayoutChangeEvent) => {
5248
if (hasMeasured.current) {
5349
return;
@@ -62,10 +58,8 @@ function ReceiptPreview({source, hovered, isEReceipt = false, transactionItem}:
6258
}
6359
if (height * eReceiptScaleFactor > windowHeight - CONST.RECEIPT_PREVIEW_TOP_BOTTOM_MARGIN) {
6460
setDistanceEReceiptAspectRatio(variables.eReceiptBGHWidth / (windowHeight - CONST.RECEIPT_PREVIEW_TOP_BOTTOM_MARGIN));
65-
containerHeight.set(withTiming(windowHeight - CONST.RECEIPT_PREVIEW_TOP_BOTTOM_MARGIN, {duration: 300}));
6661
return;
6762
}
68-
containerHeight.set(withTiming(height, {duration: 300}));
6963
setDistanceEReceiptAspectRatio(variables.eReceiptBGHWidth / height);
7064
setEReceiptScaleFactor(width / variables.eReceiptBGHWidth);
7165
};
@@ -86,13 +80,8 @@ function ReceiptPreview({source, hovered, isEReceipt = false, transactionItem}:
8680
const {width, height} = e.nativeEvent;
8781
updateImageAspectRatio(width, height);
8882
setIsLoading(false);
89-
90-
if (width && height) {
91-
const scaledHeight = (height / width) * 380;
92-
containerHeight.set(withTiming(scaledHeight, {duration: 300}));
93-
}
9483
},
95-
[updateImageAspectRatio, containerHeight],
84+
[updateImageAspectRatio],
9685
);
9786

9887
const handleError = () => {
@@ -114,18 +103,12 @@ function ReceiptPreview({source, hovered, isEReceipt = false, transactionItem}:
114103
<Animated.View
115104
entering={FadeIn.duration(CONST.TIMING.SHOW_HOVER_PREVIEW_ANIMATION_DURATION)}
116105
exiting={FadeOut.duration(CONST.TIMING.SHOW_HOVER_PREVIEW_ANIMATION_DURATION)}
117-
style={[
118-
styles.receiptPreview,
119-
styles.flexColumn,
120-
styles.alignItemsCenter,
121-
styles.justifyContentStart,
122-
animatedContainerStyle, // smoothly animated height
123-
]}
106+
style={[styles.receiptPreview, styles.flexColumn, styles.alignItemsCenter, styles.justifyContentStart]}
124107
>
125108
{shouldShowImage ? (
126109
<View style={[styles.w100]}>
127110
{isLoading && (
128-
<View style={[StyleSheet.absoluteFillObject, {top: 75}]}>
111+
<View style={[StyleSheet.absoluteFillObject, styles.justifyContentCenter, styles.alignItemsCenter]}>
129112
<ActivityIndicator
130113
color={theme.spinner}
131114
size="large"
@@ -170,16 +153,10 @@ function ReceiptPreview({source, hovered, isEReceipt = false, transactionItem}:
170153
/>
171154
</View>
172155
) : (
173-
<View
174-
onLayout={() => {
175-
containerHeight.set(withTiming(variables.eReceiptBGHeight, {duration: 300}));
176-
}}
177-
>
178-
<EReceiptWithSizeCalculation
179-
transactionID={transactionItem.transactionID}
180-
transactionItem={transactionItem}
181-
/>
182-
</View>
156+
<EReceiptWithSizeCalculation
157+
transactionID={transactionItem.transactionID}
158+
transactionItem={transactionItem}
159+
/>
183160
)}
184161
</View>
185162
)}

0 commit comments

Comments
 (0)