diff --git a/src/components/Send/SendForm.tsx b/src/components/Send/SendForm.tsx index 9f387fbea..51c937388 100644 --- a/src/components/Send/SendForm.tsx +++ b/src/components/Send/SendForm.tsx @@ -228,6 +228,8 @@ interface InnerSendFormProps { feeConfigValues?: FeeValues reloadFeeConfigValues: () => void disabled?: boolean + isDisplayReloadInShowUtxos: boolean + setIsDisplayReloadInShowUtxos: (arg: boolean) => void } const InnerSendForm = ({ @@ -241,6 +243,8 @@ const InnerSendForm = ({ feeConfigValues, reloadFeeConfigValues, disabled = false, + isDisplayReloadInShowUtxos, + setIsDisplayReloadInShowUtxos, }: InnerSendFormProps) => { const { t } = useTranslation() const serviceInfo = useServiceInfo() @@ -279,6 +283,8 @@ const InnerSendForm = ({ isLoading={isLoading} disabled={disabled} variant={showCoinjoinPreconditionViolationAlert ? 'warning' : 'default'} + isDisplayReloadInShowUtxos={isDisplayReloadInShowUtxos} + setIsDisplayReloadInShowUtxos={setIsDisplayReloadInShowUtxos} /> {showCoinjoinPreconditionViolationAlert && (
@@ -380,6 +386,8 @@ type SendFormProps = Omit & { formRef?: React.Ref> blurred?: boolean wallet: CurrentWallet + isDisplayReloadInShowUtxos: boolean + setIsDisplayReloadInShowUtxos: (arg: boolean) => void } export const SendForm = ({ diff --git a/src/components/Send/ShowUtxos.tsx b/src/components/Send/ShowUtxos.tsx index f8325f78c..4d480a153 100644 --- a/src/components/Send/ShowUtxos.tsx +++ b/src/components/Send/ShowUtxos.tsx @@ -31,6 +31,8 @@ interface ShowUtxosProps { isOpen: boolean onCancel: () => void jarIndex: String + isDisplayReloadInShowUtxos: boolean + setIsDisplayReloadInShowUtxos: (arg: boolean) => void } interface UtxoRowProps { @@ -283,7 +285,15 @@ const Divider = ({ isState, setIsState, className }: DividerProps) => { ) } -const ShowUtxos = ({ walletInfo, wallet, isOpen, onCancel, jarIndex }: ShowUtxosProps) => { +const ShowUtxos = ({ + walletInfo, + wallet, + isOpen, + onCancel, + jarIndex, + isDisplayReloadInShowUtxos, + setIsDisplayReloadInShowUtxos, +}: ShowUtxosProps) => { const [alert, setAlert] = useState(undefined) const [showFrozenUtxos, setShowFrozenUtxos] = useState(false) const [unFrozenUtxos, setUnFrozenUtxos] = useState([]) @@ -326,7 +336,11 @@ const ShowUtxos = ({ walletInfo, wallet, isOpen, onCancel, jarIndex }: ShowUtxos const abortCtrl = new AbortController() try { setIsLoading(true) - await reloadCurrentWalletInfo.reloadDisplay({ signal: abortCtrl.signal }) + await reloadCurrentWalletInfo.reloadUtxos({ signal: abortCtrl.signal }) + if (isDisplayReloadInShowUtxos) { + await reloadCurrentWalletInfo.reloadDisplay({ signal: abortCtrl.signal }) + setIsDisplayReloadInShowUtxos(false) + } loadData(walletInfo) setIsLoading(false) } catch (err: any) { @@ -334,7 +348,7 @@ const ShowUtxos = ({ walletInfo, wallet, isOpen, onCancel, jarIndex }: ShowUtxos setAlert({ variant: 'danger', message: err.message, dismissible: true }) } } - }, [reloadCurrentWalletInfo, loadData, walletInfo]) + }, [isDisplayReloadInShowUtxos, setIsDisplayReloadInShowUtxos, reloadCurrentWalletInfo, loadData, walletInfo]) //Effect to Reload walletInfo only once useEffect(() => { diff --git a/src/components/Send/SourceJarSelector.tsx b/src/components/Send/SourceJarSelector.tsx index 7fb2fb17d..e2b1adf5e 100644 --- a/src/components/Send/SourceJarSelector.tsx +++ b/src/components/Send/SourceJarSelector.tsx @@ -17,6 +17,8 @@ export type SourceJarSelectorProps = { wallet: CurrentWallet isLoading: boolean disabled?: boolean + isDisplayReloadInShowUtxos: boolean + setIsDisplayReloadInShowUtxos: (arg: boolean) => void } interface ShowUtxosProps { @@ -32,6 +34,8 @@ export const SourceJarSelector = ({ variant, isLoading, disabled = false, + isDisplayReloadInShowUtxos, + setIsDisplayReloadInShowUtxos, }: SourceJarSelectorProps) => { const { t } = useTranslation() @@ -71,6 +75,8 @@ export const SourceJarSelector = ({ }) }} jarIndex={showUtxos.jarIndex} + isDisplayReloadInShowUtxos={isDisplayReloadInShowUtxos} + setIsDisplayReloadInShowUtxos={setIsDisplayReloadInShowUtxos} /> )} {jarBalances.map((it) => { diff --git a/src/components/Send/index.tsx b/src/components/Send/index.tsx index 1aae7b658..52850be62 100644 --- a/src/components/Send/index.tsx +++ b/src/components/Send/index.tsx @@ -91,6 +91,8 @@ export default function Send({ wallet }: SendProps) { const reloadServiceInfo = useReloadServiceInfo() const loadConfigValue = useLoadConfigValue() + const [isDisplayReloadInShowUtxos, setIsDisplayReloadInShowUtxos] = useState(true) + const isCoinjoinInProgress = useMemo(() => serviceInfo?.coinjoinInProgress === true, [serviceInfo]) const isMakerRunning = useMemo(() => serviceInfo?.makerRunning === true, [serviceInfo]) const isRescanningInProgress = useMemo(() => serviceInfo?.rescanning === true, [serviceInfo]) @@ -266,6 +268,7 @@ export default function Send({ wallet }: SendProps) { txid, }), }) + setIsDisplayReloadInShowUtxos(true) setWaitForUtxosToBeSpent(inputs.map((it: any) => it.outpoint)) success = true } else { @@ -490,6 +493,8 @@ export default function Send({ wallet }: SendProps) { loadNewWalletAddress={loadNewWalletAddress} feeConfigValues={feeConfigValues} reloadFeeConfigValues={reloadFeeConfigValues} + isDisplayReloadInShowUtxos={isDisplayReloadInShowUtxos} + setIsDisplayReloadInShowUtxos={setIsDisplayReloadInShowUtxos} /> {showConfirmAbortModal && (