Skip to content

Commit 230133e

Browse files
committed
Add Asset hubs reserved amount to extension mode
Eliminate // @ts-nocheck Apply code rabit suggestions
1 parent d206c68 commit 230133e

File tree

5 files changed

+58
-35
lines changed

5 files changed

+58
-35
lines changed

packages/extension-polkagate/src/components/Assets.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Copyright 2019-2024 @polkadot/extension-polkagate authors & contributors
22
// SPDX-License-Identifier: Apache-2.0
3-
// @ts-nocheck
43

54
/* eslint-disable react/jsx-max-props-per-line */
65

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

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -68,26 +68,24 @@ const ReservedDetails = ({ reservedDetails, showReservedDetails }: ReservedDetai
6868

6969
const reasonsToShow = useMemo(() => {
7070
const details = Object.values(reservedDetails);
71+
7172
if (details.length === 0) {
7273
return undefined
73-
} else {
74-
75-
const noReason = details.every((deposit) => deposit === null);
74+
}
7675

77-
if (noReason) {
78-
return null;
79-
} else {
80-
const filteredReservedDetails = Object.fromEntries(
81-
Object.entries(reservedDetails).filter(([_key, value]) => value && !value.isZero())
82-
);
76+
const noReason = details.every((deposit) => deposit === null);
8377

84-
if (Object.values(filteredReservedDetails).length > 0) {
85-
return filteredReservedDetails;
86-
} else {
87-
return undefined;
88-
}
89-
}
78+
if (noReason) {
79+
return null;
9080
}
81+
82+
const filteredReservedDetails = Object.fromEntries(
83+
Object.entries(reservedDetails).filter(([_key, value]) => value && !value.isZero())
84+
);
85+
86+
return Object.values(filteredReservedDetails).length > 0
87+
? filteredReservedDetails
88+
: undefined
9189
}, [reservedDetails]);
9290

9391
return (
@@ -131,11 +129,7 @@ export default function ReservedDisplayBalance({ address, amount, disabled, pric
131129
const notOnNativeAsset = useMemo(() => {
132130
const assetIdNumber = Number(paramAssetId);
133131

134-
if (isNaN(assetIdNumber) || assetIdNumber > 0) {
135-
return true;
136-
} else {
137-
return false;
138-
}
132+
return Number.isNaN(assetIdNumber) || assetIdNumber > 0;
139133
}, [paramAssetId]);
140134

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

packages/extension-polkagate/src/popup/account/LabelBalancePrice.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2019-2024 @polkadot/extension-polkagate authors & contributors
22
// SPDX-License-Identifier: Apache-2.0
3-
// @ts-nocheck
3+
44
/* eslint-disable header/header */
55
/* eslint-disable react/jsx-max-props-per-line */
66

packages/extension-polkagate/src/popup/account/ReservedReasons.tsx

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Copyright 2019-2024 @polkadot/extension-polkagate authors & contributors
22
// SPDX-License-Identifier: Apache-2.0
3-
// @ts-nocheck
43

54
/* eslint-disable react/jsx-max-props-per-line */
65

@@ -12,7 +11,7 @@
1211
import type { DeriveAccountRegistration } from '@polkadot/api-derive/types';
1312

1413
import { Container, Divider, Grid, Typography } from '@mui/material';
15-
import React, { useCallback } from 'react';
14+
import React, { useCallback, useMemo } from 'react';
1615

1716
import { toTitleCase } from '@polkadot/extension-polkagate/src/fullscreen/governance/utils/util';
1817
import type { AccountId } from '@polkadot/types/interfaces/runtime';
@@ -55,6 +54,28 @@ export default function ReservedReasons({ address, assetId, identity, setShow, s
5554
setShow(false);
5655
}, [setShow]);
5756

57+
const reasonsToShow = useMemo(() => {
58+
const details = Object.values(reservedDetails);
59+
60+
if (details.length === 0) {
61+
return undefined
62+
}
63+
64+
const noReason = details.every((deposit) => deposit === null);
65+
66+
if (noReason) {
67+
return null;
68+
}
69+
70+
const filteredReservedDetails = Object.fromEntries(
71+
Object.entries(reservedDetails).filter(([_key, value]) => value && !value.isZero())
72+
);
73+
74+
return Object.values(filteredReservedDetails).length > 0
75+
? filteredReservedDetails
76+
: undefined
77+
}, [reservedDetails]);
78+
5879
return (
5980
<Motion>
6081
<Popup show={show}>
@@ -81,9 +102,9 @@ export default function ReservedReasons({ address, assetId, identity, setShow, s
81102
</Grid>
82103
</Container>
83104
<Container disableGutters sx={{ maxHeight: `${parent.innerHeight - 150}px`, overflowY: 'auto', px: '15px' }}>
84-
{Object.entries(reservedDetails)?.length
105+
{reasonsToShow
85106
? <>
86-
{Object.entries(reservedDetails)?.map(([key, value], index) => (
107+
{Object.entries(reasonsToShow)?.map(([key, value], index) => (
87108
<Grid container item key={index}>
88109
<Grid alignItems='center' container justifyContent='space-between' py='5px'>
89110
<Grid item sx={{ fontSize: '16px', fontWeight: 300, lineHeight: '36px' }} xs={6}>
@@ -109,13 +130,17 @@ export default function ReservedReasons({ address, assetId, identity, setShow, s
109130
</Grid>
110131
))}
111132
</>
112-
: <Progress
113-
fontSize={14}
114-
pt={10}
115-
size={100}
116-
title={t('Loading information, please wait ...')}
117-
type='grid'
118-
/>
133+
: reasonsToShow === null
134+
? <Typography fontSize='16px' fontWeight={500} width='100%'>
135+
{t('No reasons found!')}
136+
</Typography>
137+
: <Progress
138+
fontSize={14}
139+
pt={10}
140+
size={100}
141+
title={t('Loading information, please wait ...')}
142+
type='grid'
143+
/>
119144
}
120145
</Container>
121146
</Popup>

packages/extension-polkagate/src/popup/account/index.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2019-2024 @polkadot/extension-polkagate authors & contributors
22
// SPDX-License-Identifier: Apache-2.0
3-
// @ts-nocheck
3+
44
/* eslint-disable header/header */
55
/* eslint-disable react/jsx-max-props-per-line */
66

@@ -52,7 +52,12 @@ export default function AccountDetails(): React.ReactElement {
5252
const [showReservedReasons, setShowReservedReasons] = useState<boolean | undefined>(false);
5353
const [showStakingOptions, setShowStakingOptions] = useState<boolean>(false);
5454

55-
const showReservedChevron = useMemo(() => balances && !balances?.reservedBalance.isZero() && isOnRelayChain(genesisHash), [balances, genesisHash]);
55+
const notOnNativeAsset = useMemo(() => {
56+
const assetIdNumber = Number(assetId);
57+
58+
return assetIdNumber > 0;
59+
}, [assetId]);
60+
const showReservedChevron = useMemo(() => balances && !balances?.reservedBalance.isZero() && (isOnRelayChain(genesisHash) || !notOnNativeAsset), [balances, genesisHash, notOnNativeAsset]);
5661

5762
const gotToHome = useCallback(() => {
5863
if (showStakingOptions) {

0 commit comments

Comments
 (0)