From 0f9edb6f8eef10106fa221f0e56811217419d1d8 Mon Sep 17 00:00:00 2001 From: Douglas Daniel Date: Mon, 18 Nov 2024 11:46:06 -0600 Subject: [PATCH] fix(wallet): Fetch New Buy Quotes on Page Reset --- .../page/screens/fund-wallet/hooks/useBuy.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/components/brave_wallet_ui/page/screens/fund-wallet/hooks/useBuy.ts b/components/brave_wallet_ui/page/screens/fund-wallet/hooks/useBuy.ts index 5f882a3dc99..2fc3ff67a86 100644 --- a/components/brave_wallet_ui/page/screens/fund-wallet/hooks/useBuy.ts +++ b/components/brave_wallet_ui/page/screens/fund-wallet/hooks/useBuy.ts @@ -490,6 +490,23 @@ export const useBuy = () => { } }, [handleQuoteRefresh, timeUntilNextQuote, isFetchingQuotes]) + useEffect(() => { + // Reset quotes and triggers a new fetch if state is reset + // back to defaults on the page. + if ( + selectedAsset.currencyCode === DEFAULT_ASSET.currencyCode && + ((hasQuoteError && quotes.length === 0) || + (quotes.length !== 0 && + quotes[0].destinationCurrencyCode !== selectedAsset.currencyCode)) && + currencyCode === undefined && + chainId === undefined + ) { + setQuotes([]) + setHasQuoteError(false) + setTimeUntilNextQuote(undefined) + } + }, [selectedAsset, currencyCode, chainId, quotes, hasQuoteError]) + return { selectedAsset, selectedCurrency,