summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx13
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}