aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-03-21 11:20:43 -0300
committerSebastian <sebasjm@gmail.com>2022-03-21 11:20:43 -0300
commitf7cabbf479c9703e4565ae610a68e652ba9e95b5 (patch)
tree63e6823a3e7cc4039b7d37a241cb2025c2a1f0a8
parentfac550d45494b8c00e833cdbfbc6e0714222cd4a (diff)
fix: fixing navigation when trying to pay and there is no balance for that currency
-rw-r--r--packages/taler-wallet-webextension/src/NavigationBar.tsx2
-rw-r--r--packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx40
-rw-r--r--packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx3
-rw-r--r--packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx2
4 files changed, 40 insertions, 7 deletions
diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx b/packages/taler-wallet-webextension/src/NavigationBar.tsx
index 8d5c1fa4d..85e1f1884 100644
--- a/packages/taler-wallet-webextension/src/NavigationBar.tsx
+++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx
@@ -51,7 +51,7 @@ export enum Pages {
backup_provider_add = "/backup/provider/add",
settings = "/settings",
- settings_exchange_add = "/settings/exchange/add",
+ settings_exchange_add = "/settings/exchange/add/:currency?",
cta = "/cta/:action",
cta_pay = "/cta/pay",
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 (
+ <section>
+ <h2>
+ <i18n.Translate>
+ Manual Withdrawal for {initialCurrency}
+ </i18n.Translate>
+ </h2>
+ <LightText>
+ <i18n.Translate>
+ 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.
+ </i18n.Translate>
+ </LightText>
+ <Centered style={{ marginTop: 100 }}>
+ <BoldLight>
+ <i18n.Translate>
+ No exchange found for {initialCurrency}
+ </i18n.Translate>
+ </BoldLight>
+ <LinkPrimary
+ href={Pages.settings_exchange_add.replace(
+ ":currency?",
+ initialCurrency,
+ )}
+ style={{ marginLeft: "auto" }}
+ >
+ <i18n.Translate>Add Exchange</i18n.Translate>
+ </LinkPrimary>
+ </Centered>
+ </section>
+ );
+ }
return (
<section>
<h2>
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 (
<ExchangeSetUrlPage
onCancel={onBack}
+ expectedCurrency={currency}
onVerify={async (url) => {
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 {