diff options
| author | Sebastian <sebasjm@gmail.com> | 2022-01-25 10:29:29 -0300 | 
|---|---|---|
| committer | Sebastian <sebasjm@gmail.com> | 2022-01-25 10:29:41 -0300 | 
| commit | c13f3cf1cd491dfd6371c34e1979a32b3cfe1370 (patch) | |
| tree | a1603fa07c43908f85c8dda486e311505c901827 /packages | |
| parent | a06f7f7cbbbcbe5c3d34fc534c0fb681a009b0fe (diff) | |
fix #7162
Diffstat (limited to 'packages')
7 files changed, 51 insertions, 51 deletions
| diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx b/packages/taler-wallet-webextension/src/NavigationBar.tsx index c16bcb53b..9aaeb0d18 100644 --- a/packages/taler-wallet-webextension/src/NavigationBar.tsx +++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx @@ -32,7 +32,7 @@ export enum Pages {    welcome = "/welcome",    balance = "/balance", -  balance_history = "/balance/history/:currency", +  balance_history = "/balance/history/:currency?",    balance_manual_withdraw = "/balance/manual-withdraw/:currency?",    balance_deposit = "/balance/deposit/:currency",    balance_transaction = "/balance/transaction/:tid", diff --git a/packages/taler-wallet-webextension/src/cta/Tip.tsx b/packages/taler-wallet-webextension/src/cta/Tip.tsx index 5a9ab720d..3f8b09bd1 100644 --- a/packages/taler-wallet-webextension/src/cta/Tip.tsx +++ b/packages/taler-wallet-webextension/src/cta/Tip.tsx @@ -23,6 +23,7 @@  import { PrepareTipResult } from "@gnu-taler/taler-util";  import { h, VNode } from "preact";  import { useEffect, useState } from "preact/hooks"; +import { Loading } from "../components/Loading";  import { AmountView } from "../renderHtml";  import * as wxApi from "../wxApi"; @@ -105,7 +106,7 @@ export function TipPage({ talerTipUri }: Props): VNode {    }    if (!prepareTipResult) { -    return <span>Loading ...</span>; +    return <Loading />;    }    return ( diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx index 5169c8540..80e67f881 100644 --- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx +++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx @@ -128,13 +128,6 @@ function Application(): VNode {                <Route path={Pages.pending} component={Pending} />                <Route -                path={Pages.balance_transaction} -                component={({ tid }: { tid: string }) => -                  goToWalletPage(Pages.balance_transaction.replace(":tid", tid)) -                } -              /> - -              <Route                  path={Pages.backup}                  component={BackupPage}                  onAddProvider={() => { diff --git a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx index 86c3c1456..1f8603794 100644 --- a/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ManualWithdrawPage.tsx @@ -21,7 +21,6 @@ import {    NotificationType,  } from "@gnu-taler/taler-util";  import { h, VNode } from "preact"; -import { route } from "preact-router";  import { useState } from "preact/hooks";  import { Loading } from "../components/Loading";  import { LoadingError } from "../components/LoadingError"; @@ -32,7 +31,12 @@ import { CreateManualWithdraw } from "./CreateManualWithdraw";  import { ExchangeAddPage } from "./ExchangeAddPage";  import { ReserveCreated } from "./ReserveCreated"; -export function ManualWithdrawPage({ currency }: { currency?: string }): VNode { +interface Props { +  currency?: string; +  onCancel: () => void; +} + +export function ManualWithdrawPage({ currency, onCancel }: Props): VNode {    const [success, setSuccess] = useState<      | {          response: AcceptManualWithdrawalResult; @@ -80,9 +84,7 @@ export function ManualWithdrawPage({ currency }: { currency?: string }): VNode {          payto={success.response.exchangePaytoUris[0]}          exchangeBaseUrl={success.exchangeBaseUrl}          amount={success.amount} -        onBack={() => { -          route(Pages.balance); -        }} +        onCancel={onCancel}        />      );    } diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx index ae820d8fe..7ccef2daa 100644 --- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx @@ -9,13 +9,13 @@ export interface Props {    payto: string;    exchangeBaseUrl: string;    amount: AmountJson; -  onBack: () => void; +  onCancel: () => void;  }  export function ReserveCreated({    reservePub,    payto, -  onBack, +  onCancel,    exchangeBaseUrl,    amount,  }: Props): VNode { @@ -55,7 +55,7 @@ export function ReserveCreated({        </section>        <footer>          <div /> -        <ButtonDestructive onClick={onBack}> +        <ButtonDestructive onClick={onCancel}>            Cancel withdrawal          </ButtonDestructive>        </footer> diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx index 21bfc943d..423a641a3 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx @@ -26,11 +26,12 @@ import {  } from "@gnu-taler/taler-util";  import { differenceInSeconds } from "date-fns";  import { ComponentChildren, Fragment, h, VNode } from "preact"; -import { route } from "preact-router";  import { useState } from "preact/hooks";  import emptyImg from "../../static/img/empty.png";  import { BankDetailsByPaytoType } from "../components/BankDetailsByPaytoType";  import { ErrorTalerOperation } from "../components/ErrorTalerOperation"; +import { Loading } from "../components/Loading"; +import { LoadingError } from "../components/LoadingError";  import { Part } from "../components/Part";  import {    Button, @@ -49,7 +50,11 @@ import { useAsyncAsHook } from "../hooks/useAsyncAsHook";  import { Pages } from "../NavigationBar";  import * as wxApi from "../wxApi"; -export function TransactionPage({ tid }: { tid: string }): VNode { +interface Props { +  tid: string; +  goToWalletHistory: (currency?: string) => void; +} +export function TransactionPage({ tid, goToWalletHistory }: Props): VNode {    async function getTransaction(): Promise<Transaction> {      const res = await wxApi.getTransactions();      const ts = res.transactions.filter((t) => t.transactionId === tid); @@ -65,43 +70,30 @@ export function TransactionPage({ tid }: { tid: string }): VNode {    ]);    if (!state) { -    return ( -      <div> -        <i18n.Translate>Loading ...</i18n.Translate> -      </div> -    ); +    return <Loading />;    }    if (state.hasError) { -    route(Pages.balance);      return ( -      <div> -        <i18n.Translate> -          There was an error. Redirecting into the history page -        </i18n.Translate> -      </div> +      <LoadingError +        title="Could not load the transaction information" +        error={state} +      />      );    } -  function goToHistory(): void { -    const currency = -      state !== undefined && !state.hasError -        ? Amounts.parseOrThrow(state.response.amountRaw).currency -        : undefined; - -    if (currency) { -      route(Pages.balance_history.replace(":currency", currency)); -    } else { -      route(Pages.balance); -    } -  } +  const currency = Amounts.parse(state.response.amountRaw)?.currency;    return (      <TransactionView        transaction={state.response} -      onDelete={() => wxApi.deleteTransaction(tid).then(goToHistory)} -      onRetry={() => wxApi.retryTransaction(tid).then(goToHistory)} -      onBack={goToHistory} +      onDelete={() => +        wxApi.deleteTransaction(tid).then(() => goToWalletHistory(currency)) +      } +      onRetry={() => +        wxApi.retryTransaction(tid).then(() => goToWalletHistory(currency)) +      } +      onBack={() => goToWalletHistory(currency)}      />    );  } diff --git a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx index c8bbc7f7a..629b93fc5 100644 --- a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx +++ b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx @@ -122,12 +122,6 @@ function Application(): VNode {                   */}                  <Route -                  path={Pages.balance} -                  component={Redirect} -                  to={Pages.balance_history.replace(":currency", "")} -                /> - -                <Route                    path={Pages.balance_history}                    component={HistoryPage}                    goToWalletDeposit={(currency: string) => @@ -145,11 +139,22 @@ function Application(): VNode {                  <Route                    path={Pages.balance_transaction}                    component={TransactionPage} +                  goToWalletHistory={(currency?: string) => { +                    route( +                      Pages.balance_history.replace( +                        ":currency", +                        currency || "", +                      ), +                    ); +                  }}                  />                  <Route                    path={Pages.balance_manual_withdraw}                    component={ManualWithdrawPage} +                  onCancel={() => { +                    route(Pages.balance); +                  }}                  />                  <Route @@ -232,8 +237,15 @@ function Application(): VNode {                  {/**                   * NOT FOUND +                 * all redirects should be at the end                   */}                  <Route +                  path={Pages.balance} +                  component={Redirect} +                  to={Pages.balance_history.replace(":currency", "")} +                /> + +                <Route                    default                    component={Redirect}                    to={Pages.balance_history.replace(":currency", "")} | 
