diff --git a/src/sections/finance/components/finance-deposit-from-metamask.tsx b/src/sections/finance/components/finance-deposit-from-metamask.tsx index 9f52d0e0..85b12c58 100644 --- a/src/sections/finance/components/finance-deposit-from-metamask.tsx +++ b/src/sections/finance/components/finance-deposit-from-metamask.tsx @@ -18,12 +18,12 @@ interface FinanceDepositFromMetamaskProps { const FinanceDepositFromMetamask: FC = ({ onClose }) => { const sessionData = useSelector((state: any) => state.auth.session); const depositHook = useDepositMetamask(); - const { address, connecting, connect, setAddress } = useMetaMask(); + const { address, connecting, connect } = useMetaMask(); if (connecting) return ; if (!address) return ; - return ; + return ; }; export default FinanceDepositFromMetamask; diff --git a/src/sections/finance/components/finance-deposit.tsx b/src/sections/finance/components/finance-deposit.tsx index 2f275cee..179e94ef 100644 --- a/src/sections/finance/components/finance-deposit.tsx +++ b/src/sections/finance/components/finance-deposit.tsx @@ -62,7 +62,7 @@ interface FinanceDepositProps { * - `depositHook` (generic or Metamask deposit hook) * - `onClose` */ -const FinanceDeposit: FC = ({ address, recipient, depositHook, onClose, onChangeWallet }) => { +const FinanceDeposit: FC = ({ address, recipient, depositHook, onClose }) => { const [amount, setAmount] = useState(); const [helperText, setHelperText] = useState(""); const { balance } = useGetMmcContractBalance(address); @@ -175,7 +175,6 @@ const FinanceDeposit: FC = ({ address, recipient, depositHo balance={balance ?? 0} label={'Confirm'} onConfirmAction={handleConfirmDeposit} - onChangeWallet={onChangeWallet} onCloseAction={onClose} /> diff --git a/src/sections/finance/components/finance-dialogs-actions.tsx b/src/sections/finance/components/finance-dialogs-actions.tsx index 1bb4bab8..1e2e3ccd 100644 --- a/src/sections/finance/components/finance-dialogs-actions.tsx +++ b/src/sections/finance/components/finance-dialogs-actions.tsx @@ -1,13 +1,7 @@ -// React and libraries imports -import { Address } from 'viem'; - // @mui components import DialogActions from '@mui/material/DialogActions'; import LoadingButton from '@mui/lab/LoadingButton'; -// Project imports -import FinanceChangeWallet from '@src/sections/finance/components/finance-change-wallet.tsx'; - type FinanceDialogsActionsProps = { rainbowComponent: any; loading: boolean; @@ -16,8 +10,7 @@ type FinanceDialogsActionsProps = { balance: number; label: string; onConfirmAction: () => void; - onCloseAction?: () => void; - onChangeWallet?: (address: Address) => void; + onCloseAction?: () => void }; const FinanceDialogsActions = ({ @@ -27,12 +20,10 @@ const FinanceDialogsActions = ({ actionLoading, amount, balance, - label, - onChangeWallet, + label }: FinanceDialogsActionsProps) => { return ( - {onChangeWallet && } ) => { - setAmount(Number(event.target.value)); - if(Number(event.target.value) < MAX_AMOUNT) { - setCanContinue(true); - }else{ - setCanContinue(false); + // Helper function to handle amount constraints + const handleAmountConstraints = (value: number, MAX_AMOUNT: number) => { + if (value > MAX_POOL) { + value = MAX_POOL; // Truncate to a thousand millions } - }, []); - - // Validate the amount on blur - const handleBlur = useCallback(() => { - if(amount < MAX_AMOUNT) { - setCanContinue(true); + if (value < 0) { + value = 0; // Set amount to 0 if lower than 0 } + setAmount(value); + setCanContinue(value <= MAX_AMOUNT); - if (amount < 0) { - setAmount(0); - } else if (amount > MAX_AMOUNT) { + // If amount is greater than balance, allow input but setCanContinue to false + if (value > MAX_AMOUNT) { setCanContinue(false); } + }; + + const handleChangeInput = useCallback((event: React.ChangeEvent) => { + const value = Number(event.target.value); + handleAmountConstraints(value, MAX_AMOUNT); + }, [MAX_AMOUNT]); + + + const handleBlur = useCallback(() => { + handleAmountConstraints(amount, MAX_AMOUNT); }, [amount, MAX_AMOUNT]); + // Called after finishing a transfer const handleTransferFinish = () => { setAmount(0); @@ -371,7 +378,7 @@ export default function FinanceQuickTransfer({ const renderInput = ( = ({ onClose }) => { const withdrawHook = useWithdraw(); - const { address, connecting, connect, setAddress } = useMetaMask(); + const { address, connecting, connect } = useMetaMask(); if (connecting) return ; if (!address) return ; - return ; + return ; }; export default FinanceWithdrawFromMetamask; diff --git a/src/sections/finance/components/finance-withdraw.tsx b/src/sections/finance/components/finance-withdraw.tsx index 73f75d97..4ff82887 100644 --- a/src/sections/finance/components/finance-withdraw.tsx +++ b/src/sections/finance/components/finance-withdraw.tsx @@ -36,7 +36,7 @@ interface FinanceWithdrawProps { // ---------------------------------------------------------------------- -const FinanceWithdraw: FC = ({ address, withdrawHook, onClose, onChangeWallet }) => { +const FinanceWithdraw: FC = ({ address, withdrawHook, onClose }) => { const [amount, setAmount] = useState(); const [amountError, setAmountError] = useState(false); const [amountHelperText, setAmountHelperText] = useState(''); @@ -138,7 +138,6 @@ const FinanceWithdraw: FC = ({ address, withdrawHook, onCl label={'Confirm'} onConfirmAction={handleConfirmWithdraw} onCloseAction={onClose} - onChangeWallet={onChangeWallet} /> );