FaucetModalContent.tsx
1 import { mintAmountsPerToken, valueToWei } from '@aave/contract-helpers'; 2 import { normalize } from '@aave/math-utils'; 3 import { Trans } from '@lingui/macro'; 4 import { useModalContext } from 'src/hooks/useModal'; 5 6 import { GasEstimationError } from '../FlowCommons/GasEstimationError'; 7 import { ModalWrapperProps } from '../FlowCommons/ModalWrapper'; 8 import { TxSuccessView } from '../FlowCommons/Success'; 9 import { DetailsNumberLine, TxModalDetails } from '../FlowCommons/TxModalDetails'; 10 import { FaucetActions } from './FaucetActions'; 11 12 export type FaucetModalContentProps = { 13 underlyingAsset: string; 14 }; 15 16 export enum ErrorType {} 17 18 export const FaucetModalContent = ({ poolReserve, isWrongNetwork }: ModalWrapperProps) => { 19 const { gasLimit, mainTxState: faucetTxState, txError } = useModalContext(); 20 const defaultValue = valueToWei('1000', 18); 21 const mintAmount = mintAmountsPerToken[poolReserve.symbol.toUpperCase()] 22 ? mintAmountsPerToken[poolReserve.symbol.toUpperCase()] 23 : defaultValue; 24 const normalizedAmount = normalize(mintAmount, poolReserve.decimals); 25 26 if (faucetTxState.success) 27 return ( 28 <TxSuccessView 29 action={<Trans>Received</Trans>} 30 symbol={poolReserve.symbol} 31 amount={normalizedAmount} 32 /> 33 ); 34 35 return ( 36 <> 37 <TxModalDetails gasLimit={gasLimit}> 38 <DetailsNumberLine 39 description={<Trans>Amount</Trans>} 40 iconSymbol={poolReserve.symbol} 41 symbol={poolReserve.symbol} 42 value={normalizedAmount} 43 /> 44 </TxModalDetails> 45 46 {txError && <GasEstimationError txError={txError} />} 47 48 <FaucetActions poolReserve={poolReserve} isWrongNetwork={isWrongNetwork} blocked={false} /> 49 </> 50 ); 51 };