Skip to content

Commit 579ba40

Browse files
committed
Update ReservedDisplayBalance.tsx
1 parent 6368c65 commit 579ba40

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

packages/extension-polkagate/src/fullscreen/accountDetails/components/ReservedDisplayBalance.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,27 @@ function WaitForReserved({ rows = 2, skeletonHeight = 20, skeletonWidth = 60, st
6666

6767
const ReservedDetails = ({ reservedDetails, showReservedDetails }: ReservedDetailsType) => {
6868
const { t } = useTranslation();
69+
const [stillFetching, setStillFetching] = useState<boolean>(false);
6970

7071
const reasonsToShow = useMemo(() => {
71-
const details = Object.values(reservedDetails);
72+
const reasons = Object.values(reservedDetails);
7273

73-
if (details.length === 0) {
74+
const isStillFetchingSomething = reasons.some((reason) => reason === undefined);
75+
setStillFetching(isStillFetchingSomething);
76+
77+
// details are still fetching
78+
if (reasons.length === 0) {
7479
return undefined
7580
}
7681

77-
const noReason = details.every((deposit) => deposit === null);
82+
const noReason = reasons.every((reason) => reason === null);
7883

84+
// no reasons found
7985
if (noReason) {
8086
return null;
8187
}
8288

89+
// filter fetched reasons
8390
const filteredReservedDetails = Object.fromEntries(
8491
Object.entries(reservedDetails).filter(([_key, value]) => value && !value.isZero())
8592
);
@@ -109,6 +116,7 @@ const ReservedDetails = ({ reservedDetails, showReservedDetails }: ReservedDetai
109116
</Grid>
110117
))
111118
}
119+
{stillFetching && <WaitForReserved rows={1} />}
112120
</Grid>
113121
: reasonsToShow === null
114122
? <Typography fontSize='16px' fontWeight={500} width='100%'>
@@ -126,7 +134,7 @@ export default function ReservedDisplayBalance({ address, amount, assetToken, as
126134
const reservedDetails = useReservedDetails(address);
127135
const { decimal, genesisHash, token } = useInfo(address);
128136

129-
const notOnNativeAsset = useMemo(() => (assetId !== undefined && assetId > 0) || assetToken?.toLowerCase() !== token?.toLowerCase() , [assetId, assetToken, token]);
137+
const notOnNativeAsset = useMemo(() => (assetId !== undefined && assetId > 0) || assetToken?.toLowerCase() !== token?.toLowerCase(), [assetId, assetToken, token]);
130138

131139
const [showReservedDetails, setShowReservedDetails] = useState<boolean>(false);
132140

0 commit comments

Comments
 (0)