gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (88bb9436 -> 32cd54e1)


From: gnunet
Subject: [taler-wallet-core] branch master updated (88bb9436 -> 32cd54e1)
Date: Mon, 21 Mar 2022 16:49:49 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a change to branch master
in repository wallet-core.

    from 88bb9436 fix #7164: firefox back button after a 402 redirect
     new c202abef redirect message delay
     new fac550d4 fix withdraw redirect when there is no enough balance
     new f7cabbf4 fix: fixing navigation when trying to pay and there is no 
balance for that currency
     new 32cd54e1 fix: handle new optional parameter for settings_exchange_add 
page

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../src/NavigationBar.tsx                          |  2 +-
 packages/taler-wallet-webextension/src/cta/Pay.tsx |  9 +++--
 .../src/popupEntryPoint.tsx                        |  7 +++-
 .../src/wallet/CreateManualWithdraw.tsx            | 40 ++++++++++++++++++++--
 .../src/wallet/ExchangeAddPage.tsx                 |  3 +-
 .../src/wallet/ExchangeSetUrl.tsx                  |  3 +-
 .../src/wallet/ManualWithdrawPage.tsx              |  2 --
 .../src/wallet/Settings.tsx                        |  4 ++-
 .../src/walletEntryPoint.tsx                       | 36 +++++++++----------
 9 files changed, 74 insertions(+), 32 deletions(-)

diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx 
b/packages/taler-wallet-webextension/src/NavigationBar.tsx
index 8d5c1fa4..85e1f188 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/cta/Pay.tsx 
b/packages/taler-wallet-webextension/src/cta/Pay.tsx
index de0978ac..2a0d1b46 100644
--- a/packages/taler-wallet-webextension/src/cta/Pay.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Pay.tsx
@@ -155,7 +155,7 @@ export interface PaymentRequestViewProps {
   onClick: () => void;
   payErrMsg?: string;
   uri: string;
-  goToWalletManualWithdraw: () => void;
+  goToWalletManualWithdraw: (s: string) => void;
   balance: AmountJson | undefined;
 }
 export function PaymentRequestView({
@@ -196,8 +196,8 @@ export function PaymentRequestView({
     );
   }
 
+  const amountRaw = Amounts.parseOrThrow(payStatus.amountRaw);
   if (payStatus.status === PreparePayResultType.PaymentPossible) {
-    const amountRaw = Amounts.parseOrThrow(payStatus.amountRaw);
     const amountEffective: AmountJson = Amounts.parseOrThrow(
       payStatus.amountEffective,
     );
@@ -284,7 +284,10 @@ export function PaymentRequestView({
             )}
           </section>
           <section>
-            <ButtonSuccess upperCased onClick={goToWalletManualWithdraw}>
+            <ButtonSuccess
+              upperCased
+              onClick={() => goToWalletManualWithdraw(amountRaw.currency)}
+            >
               <i18n.Translate>Withdraw digital cash</i18n.Translate>
             </ButtonSuccess>
           </section>
diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
index e78bc4ff..7ee6c8e4 100644
--- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx
@@ -25,7 +25,7 @@ import { createHashHistory } from "history";
 import { Fragment, h, render, VNode } from "preact";
 import Router, { route, Route } from "preact-router";
 import { Match } from "preact-router/match";
-import { useEffect } from "preact/hooks";
+import { useEffect, useState } from "preact/hooks";
 import PendingTransactions from "./components/PendingTransactions";
 import { PopupBox } from "./components/styled";
 import { DevContextProvider } from "./context/devContext";
@@ -181,6 +181,7 @@ function Application(): VNode {
 
 function RedirectToWalletPage(): VNode {
   const page = document.location.hash || "#/";
+  const [showText, setShowText] = useState(false);
   useEffect(() => {
     chrome.tabs.create(
       {
@@ -192,8 +193,12 @@ function RedirectToWalletPage(): VNode {
         window.close();
       },
     );
+    setTimeout(() => {
+      setShowText(true);
+    }, 250);
   });
   const { i18n } = useTranslationContext();
+  if (!showText) return <Fragment />;
   return (
     <span>
       <i18n.Translate>
diff --git 
a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx 
b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
index bf578dfb..068135ae 100644
--- a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
@@ -67,7 +67,7 @@ export function useComponentState(
   const initialExchange =
     foundExchangeForCurrency !== -1
       ? exchangeSelectList[foundExchangeForCurrency]
-      : exchangeSelectList.length > 0
+      : !initialCurrency && exchangeSelectList.length > 0
       ? exchangeSelectList[0]
       : undefined;
 
@@ -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>
@@ -154,7 +188,7 @@ export function CreateManualWithdraw({
             <i18n.Translate>No exchange configured</i18n.Translate>
           </BoldLight>
           <LinkPrimary
-            href={Pages.settings_exchange_add}
+            href={Pages.settings_exchange_add.replace(":currency?", "")}
             style={{ marginLeft: "auto" }}
           >
             <i18n.Translate>Add Exchange</i18n.Translate>
@@ -200,7 +234,7 @@ export function CreateManualWithdraw({
           </Input>
           <div style={{ display: "flex", justifyContent: "space-between" }}>
             <LinkPrimary
-              href={Pages.settings_exchange_add}
+              href={Pages.settings_exchange_add.replace(":currency?", "")}
               style={{ marginLeft: "auto" }}
             >
               <i18n.Translate>Add Exchange</i18n.Translate>
diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx
index a8ef4549..b968e841 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/ExchangeSetUrl.tsx 
b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
index 62d7e15b..fae309ba 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx
@@ -177,8 +177,7 @@ export function ExchangeSetUrlPage({
           disabled={
             !result ||
             !!error ||
-            (expectedCurrency !== undefined &&
-              expectedCurrency !== result.currency)
+            (!!expectedCurrency && expectedCurrency !== result.currency)
           }
           onClick={() => {
             const url = canonicalizeBaseUrl(endpoint);
diff --git 
a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx 
b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx
index 866b5f37..b7e63bbf 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 {
diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx 
b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
index f806da6a..840e9565 100644
--- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx
@@ -177,7 +177,9 @@ export function SettingsView({
         )}
         <div style={{ display: "flex", justifyContent: "space-between" }}>
           <div />
-          <LinkPrimary href={Pages.settings_exchange_add}>
+          <LinkPrimary
+            href={Pages.settings_exchange_add.replace(":currency?", "")}
+          >
             <i18n.Translate>Add an exchange</i18n.Translate>
           </LinkPrimary>
         </div>
diff --git a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx 
b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
index 9a1d8699..2f53917e 100644
--- a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
+++ b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx
@@ -113,23 +113,23 @@ function Application(): VNode {
                 <Fragment>
                   <LogoHeader />
                   <WalletNavBar path={path} />
+                  <div
+                    style={{
+                      backgroundColor: "lightcyan",
+                      display: "flex",
+                      justifyContent: "center",
+                    }}
+                  >
+                    <PendingTransactions
+                      goToTransaction={(txId: string) =>
+                        route(Pages.balance_transaction.replace(":tid", txId))
+                      }
+                    />
+                  </div>
                 </Fragment>
               );
             }}
           </Match>
-          <div
-            style={{
-              backgroundColor: "lightcyan",
-              display: "flex",
-              justifyContent: "center",
-            }}
-          >
-            <PendingTransactions
-              goToTransaction={(txId: string) =>
-                route(Pages.balance_transaction.replace(":tid", txId))
-              }
-            />
-          </div>
           <WalletBox>
             {globalNotification && (
               <SuccessBox onClick={clearNotification}>
@@ -166,7 +166,7 @@ function Application(): VNode {
                 component={TransactionPage}
                 goToWalletHistory={(currency?: string) => {
                   route(
-                    Pages.balance_history.replace(":currency", currency || ""),
+                    Pages.balance_history.replace(":currency?", currency || 
""),
                   );
                 }}
               />
@@ -183,10 +183,10 @@ function Application(): VNode {
                 path={Pages.balance_deposit}
                 component={DepositPage}
                 onCancel={(currency: string) => {
-                  route(Pages.balance_history.replace(":currency", currency));
+                  route(Pages.balance_history.replace(":currency?", currency));
                 }}
                 onSuccess={(currency: string) => {
-                  route(Pages.balance_history.replace(":currency", currency));
+                  route(Pages.balance_history.replace(":currency?", currency));
                   setGlobalNotification(
                     <i18n.Translate>
                       All done, your transaction is in progress
@@ -268,13 +268,13 @@ function Application(): VNode {
               <Route
                 path={Pages.balance}
                 component={Redirect}
-                to={Pages.balance_history.replace(":currency", "")}
+                to={Pages.balance_history.replace(":currency?", "")}
               />
 
               <Route
                 default
                 component={Redirect}
-                to={Pages.balance_history.replace(":currency", "")}
+                to={Pages.balance_history.replace(":currency?", "")}
               />
             </Router>
           </WalletBox>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]