fix: generate gift wallet is disabled if there is not enough funds (#451)

This commit is contained in:
Vojtech Simetka
2022-06-28 13:04:55 +02:00
committed by GitHub
parent ec13357666
commit f2824b749b
+21 -3
View File
@@ -1,4 +1,4 @@
import { Box, Typography } from '@material-ui/core' import { Box, Tooltip, Typography } from '@material-ui/core'
import { useSnackbar } from 'notistack' import { useSnackbar } from 'notistack'
import { ReactElement, useContext, useEffect, useState } from 'react' import { ReactElement, useContext, useEffect, useState } from 'react'
import Check from 'remixicon-react/CheckLineIcon' import Check from 'remixicon-react/CheckLineIcon'
@@ -15,6 +15,10 @@ import { Context as BeeContext } from '../../providers/Bee'
import { Context as TopUpContext } from '../../providers/TopUp' import { Context as TopUpContext } from '../../providers/TopUp'
import { createGiftWallet } from '../../utils/desktop' import { createGiftWallet } from '../../utils/desktop'
import { ResolvedWallet } from '../../utils/wallet' import { ResolvedWallet } from '../../utils/wallet'
import { Token } from '../../models/Token'
const GIFT_WALLET_FUND_DAI_AMOUNT = Token.fromDecimal('0.1', 18)
const GIFT_WALLET_FUND_BZZ_AMOUNT = Token.fromDecimal('0.5', 16)
export default function Index(): ReactElement { export default function Index(): ReactElement {
const { giftWallets, addGiftWallet, provider } = useContext(TopUpContext) const { giftWallets, addGiftWallet, provider } = useContext(TopUpContext)
@@ -62,13 +66,18 @@ export default function Index(): ReactElement {
return <Loading /> return <Loading />
} }
const notEnoughFundsCheck =
balance.dai.toBigNumber.isLessThanOrEqualTo(GIFT_WALLET_FUND_DAI_AMOUNT.toBigNumber) ||
balance.bzz.toBigNumber.isLessThan(GIFT_WALLET_FUND_BZZ_AMOUNT.toBigNumber)
return ( return (
<> <>
<HistoryHeader>Invite to Swarm...</HistoryHeader> <HistoryHeader>Invite to Swarm...</HistoryHeader>
<Box mb={4}> <Box mb={4}>
<Typography> <Typography>
Generate and share a gift wallet that anyone can use to set-up their light node with Swarm Desktop. This will Generate and share a gift wallet that anyone can use to set-up their light node with Swarm Desktop. This will
use 1 XDAI and 5 BZZ from your node wallet. use {GIFT_WALLET_FUND_DAI_AMOUNT.toSignificantDigits(2)} XDAI and{' '}
{GIFT_WALLET_FUND_BZZ_AMOUNT.toSignificantDigits(2)} BZZ from your node wallet.
</Typography> </Typography>
</Box> </Box>
<Box mb={0.25}> <Box mb={0.25}>
@@ -88,9 +97,18 @@ export default function Index(): ReactElement {
))} ))}
</Box> </Box>
<ExpandableListItemActions> <ExpandableListItemActions>
<SwarmButton onClick={onCreate} iconType={Check} loading={loading} disabled={loading}> <Tooltip title={'Not enough funds'} placement="top" open={notEnoughFundsCheck} arrow>
<div>
<SwarmButton
onClick={onCreate}
iconType={Check}
loading={loading}
disabled={loading || notEnoughFundsCheck}
>
Generate gift wallet Generate gift wallet
</SwarmButton> </SwarmButton>
</div>
</Tooltip>
<SwarmButton onClick={onCancel} cancel iconType={X} disabled={loading}> <SwarmButton onClick={onCancel} cancel iconType={X} disabled={loading}>
Cancel Cancel
</SwarmButton> </SwarmButton>