From f7cabbf479c9703e4565ae610a68e652ba9e95b5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 21 Mar 2022 11:20:43 -0300 Subject: fix: fixing navigation when trying to pay and there is no balance for that currency --- .../src/wallet/CreateManualWithdraw.tsx | 40 ++++++++++++++++++++-- .../src/wallet/ExchangeAddPage.tsx | 3 +- .../src/wallet/ManualWithdrawPage.tsx | 2 -- 3 files changed, 39 insertions(+), 6 deletions(-) (limited to 'packages/taler-wallet-webextension/src/wallet') diff --git a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx index bf578dfb5..1996687ba 100644 --- a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx +++ b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx @@ -67,9 +67,9 @@ export function useComponentState( const initialExchange = foundExchangeForCurrency !== -1 ? exchangeSelectList[foundExchangeForCurrency] - : exchangeSelectList.length > 0 - ? exchangeSelectList[0] - : undefined; + : // : exchangeSelectList.length > 0 + // ? exchangeSelectList[0] + undefined; const [exchange, setExchange] = useState(initialExchange || ""); const [currency, setCurrency] = useState( @@ -137,6 +137,40 @@ export function CreateManualWithdraw({ const state = useComponentState(exchangeList, initialAmount, initialCurrency); if (!state.initialExchange) { + if (initialCurrency !== undefined) { + return ( +
+

+ + Manual Withdrawal for {initialCurrency} + +

+ + + Choose a exchange from where the coins will be withdrawn. The + exchange will send the coins to this wallet after receiving a wire + transfer with the correct subject. + + + + + + No exchange found for {initialCurrency} + + + + Add Exchange + + +
+ ); + } return (

diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx index a8ef4549c..b968e8412 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx @@ -31,7 +31,7 @@ interface Props { onBack: () => void; } -export function ExchangeAddPage({ onBack }: Props): VNode { +export function ExchangeAddPage({ currency, onBack }: Props): VNode { const [verifying, setVerifying] = useState< { url: string; config: TalerConfigResponse } | undefined >(undefined); @@ -47,6 +47,7 @@ export function ExchangeAddPage({ onBack }: Props): VNode { return ( { const found = knownExchanges.findIndex((e) => e.exchangeBaseUrl === url) !== -1; diff --git a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx index 866b5f37f..b7e63bbf8 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx @@ -26,10 +26,8 @@ import { Loading } from "../components/Loading"; import { LoadingError } from "../components/LoadingError"; import { useTranslationContext } from "../context/translation"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; -import { Pages } from "../NavigationBar"; import * as wxApi from "../wxApi"; import { CreateManualWithdraw } from "./CreateManualWithdraw"; -import { ExchangeAddPage } from "./ExchangeAddPage"; import { ReserveCreated } from "./ReserveCreated"; interface Props { -- cgit v1.2.3