diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx index 88d5f1722..b3e8a2c25 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx @@ -22,11 +22,13 @@ import { AcceptManualWithdrawalResult, AmountJson, Amounts, + NotificationType, } from "@gnu-taler/taler-util"; import { ReserveCreated } from "./ReserveCreated"; import { route } from "preact-router"; import { Pages } from "../NavigationBar"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; +import { ExchangeAddPage } from "./ExchangeAddPage"; export function ManualWithdrawPage(): VNode { const [success, setSuccess] = useState< @@ -39,7 +41,9 @@ export function ManualWithdrawPage(): VNode { >(undefined); const [error, setError] = useState<string | undefined>(undefined); - const state = useAsyncAsHook(() => wxApi.listExchanges()); + const state = useAsyncAsHook(wxApi.listExchanges, [ + NotificationType.ExchangeAdded, + ]); async function doCreate( exchangeBaseUrl: string, @@ -61,6 +65,12 @@ export function ManualWithdrawPage(): VNode { } } + const [addingExchange, setAddingExchange] = useState(false); + + if (addingExchange) { + return <ExchangeAddPage onBack={() => setAddingExchange(false)} />; + } + if (success) { return ( <ReserveCreated @@ -91,6 +101,7 @@ export function ManualWithdrawPage(): VNode { return ( <CreateManualWithdraw + onAddExchange={() => setAddingExchange(true)} error={error} exchangeList={exchangeList} onCreate={doCreate} |