519c411db0
* feat: sync and update with all changes from fork * refactor: extract clipboard copy logic into custom hook * fix: correct spelling of DEFAULT_REFRESH_FREQUENCY_MS in Stamps and WalletBalance providers * refactor(ui-tests): replace fixed sleeps with condition-based waits * fix: handle null values for size and granteeCount in infoGroups * fix(lint): add newline at end of file in useClipboardCopy hook * fix(ui-tests): page.goto URL * refactor: update import paths for useClipboardCopy --------- Co-authored-by: Ferenc Sárai <sarai.ferenc@gmail.com>
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { BZZ } from '@ethersphere/bee-js'
|
|
import { ReactElement, useContext } from 'react'
|
|
import Upload from 'remixicon-react/UploadLineIcon'
|
|
|
|
import WithdrawDepositModal from '../components/WithdrawDepositModal'
|
|
import { Context as BeeContext } from '../providers/Bee'
|
|
import { Context as SettingsContext } from '../providers/Settings'
|
|
|
|
export default function WithdrawModal(): ReactElement {
|
|
const { beeApi } = useContext(SettingsContext)
|
|
const { refresh } = useContext(BeeContext)
|
|
|
|
return (
|
|
<WithdrawDepositModal
|
|
successMessage="Successful withdrawal."
|
|
errorMessage="Error with withdrawing."
|
|
dialogMessage="Amount of xBZZ to withdraw from the checkbook to your node."
|
|
label="Withdraw"
|
|
icon={<Upload size="1rem" />}
|
|
min={BZZ.fromPLUR('1')}
|
|
action={async (amount: BZZ) => {
|
|
if (!beeApi) {
|
|
throw new Error('Bee URL is not valid')
|
|
}
|
|
|
|
const transactionHash = await beeApi.withdrawBZZFromChequebook(amount)
|
|
refresh()
|
|
|
|
return transactionHash
|
|
}}
|
|
/>
|
|
)
|
|
}
|