From d44740b787c974c5388811a2989557d93923c49a Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 27 Mar 2021 14:35:58 +0100 Subject: fix build issues --- packages/taler-wallet-webextension/package.json | 1 + .../src/browserHttpLib.ts | 2 +- .../taler-wallet-webextension/src/pages/pay.tsx | 29 ++-- .../taler-wallet-webextension/src/pages/popup.tsx | 5 +- .../taler-wallet-webextension/src/pages/refund.tsx | 25 ++- .../taler-wallet-webextension/src/pages/tip.tsx | 12 +- .../src/pages/welcome.tsx | 2 +- .../src/pages/withdraw.tsx | 4 +- .../taler-wallet-webextension/src/renderHtml.tsx | 167 +-------------------- packages/taler-wallet-webextension/src/wxApi.ts | 10 +- .../taler-wallet-webextension/src/wxBackend.ts | 15 +- packages/taler-wallet-webextension/tsconfig.json | 46 +++--- 12 files changed, 95 insertions(+), 223 deletions(-) (limited to 'packages/taler-wallet-webextension') diff --git a/packages/taler-wallet-webextension/package.json b/packages/taler-wallet-webextension/package.json index b9a35eb1b..69c504006 100644 --- a/packages/taler-wallet-webextension/package.json +++ b/packages/taler-wallet-webextension/package.json @@ -14,6 +14,7 @@ "dependencies": { "moment": "^2.29.1", "@gnu-taler/taler-wallet-core": "workspace:*", + "@gnu-taler/taler-util": "workspace:*", "tslib": "^2.1.0" }, "devDependencies": { diff --git a/packages/taler-wallet-webextension/src/browserHttpLib.ts b/packages/taler-wallet-webextension/src/browserHttpLib.ts index c71e34174..5c27becb2 100644 --- a/packages/taler-wallet-webextension/src/browserHttpLib.ts +++ b/packages/taler-wallet-webextension/src/browserHttpLib.ts @@ -26,7 +26,7 @@ import { Headers, bytesToString, } from "@gnu-taler/taler-wallet-core"; -import { TalerErrorCode } from "@gnu-taler/taler-wallet-core"; +import { TalerErrorCode } from "@gnu-taler/taler-util"; const logger = new Logger("browserHttpLib"); diff --git a/packages/taler-wallet-webextension/src/pages/pay.tsx b/packages/taler-wallet-webextension/src/pages/pay.tsx index b5da04e31..9c6b10951 100644 --- a/packages/taler-wallet-webextension/src/pages/pay.tsx +++ b/packages/taler-wallet-webextension/src/pages/pay.tsx @@ -29,16 +29,16 @@ import * as wxApi from "../wxApi"; import React, { useState, useEffect } from "react"; +import { getJsonI18n } from "@gnu-taler/taler-wallet-core"; import { - Amounts, - AmountJson, PreparePayResult, + ConfirmPayResult, + AmountJson, PreparePayResultType, + Amounts, ContractTerms, ConfirmPayResultType, - ConfirmPayResult, - getJsonI18n, -} from "@gnu-taler/taler-wallet-core"; +} from "@gnu-taler/taler-util"; function TalerPayDialog({ talerPayUri }: { talerPayUri: string }): JSX.Element { const [payStatus, setPayStatus] = useState(); @@ -67,7 +67,9 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }): JSX.Element { if (payStatus.status === PreparePayResultType.PaymentPossible) { let amountRaw = Amounts.parseOrThrow(payStatus.amountRaw); - let amountEffective: AmountJson = Amounts.parseOrThrow(payStatus.amountEffective); + let amountEffective: AmountJson = Amounts.parseOrThrow( + payStatus.amountEffective, + ); totalFees = Amounts.sub(amountEffective, amountRaw).amount; } @@ -141,13 +143,16 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }): JSX.Element { if (payResult.contractTerms.fulfillment_message) { const obj = { fulfillment_message: payResult.contractTerms.fulfillment_message, - fulfillment_message_i18n: payResult.contractTerms.fulfillment_message_i18n, + fulfillment_message_i18n: + payResult.contractTerms.fulfillment_message_i18n, }; - const msg = getJsonI18n(obj, "fulfillment_message") - return
-

Payment succeeded.

-

{msg}

-
; + const msg = getJsonI18n(obj, "fulfillment_message"); + return ( +
+

Payment succeeded.

+

{msg}

+
+ ); } else { return Redirecting ...; } diff --git a/packages/taler-wallet-webextension/src/pages/popup.tsx b/packages/taler-wallet-webextension/src/pages/popup.tsx index 9071e46fd..4d12d9a83 100644 --- a/packages/taler-wallet-webextension/src/pages/popup.tsx +++ b/packages/taler-wallet-webextension/src/pages/popup.tsx @@ -38,7 +38,8 @@ import { TransactionType, AmountString, Timestamp, -} from "@gnu-taler/taler-wallet-core"; + amountFractionalBase, +} from "@gnu-taler/taler-util"; import { abbrev, renderAmount, PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; @@ -160,7 +161,7 @@ class WalletNavBar extends React.Component { * Render an amount as a large number with a small currency symbol. */ function bigAmount(amount: AmountJson): JSX.Element { - const v = amount.value + amount.fraction / Amounts.fractionalBase; + const v = amount.value + amount.fraction / amountFractionalBase; return ( {v}{" "} diff --git a/packages/taler-wallet-webextension/src/pages/refund.tsx b/packages/taler-wallet-webextension/src/pages/refund.tsx index 572aba8ed..bfeec0aa3 100644 --- a/packages/taler-wallet-webextension/src/pages/refund.tsx +++ b/packages/taler-wallet-webextension/src/pages/refund.tsx @@ -23,7 +23,11 @@ import React, { useEffect, useState } from "react"; import * as wxApi from "../wxApi"; import { AmountView } from "../renderHtml"; -import { PurchaseDetails, ApplyRefundResponse, Amounts } from "@gnu-taler/taler-wallet-core"; +import { + PurchaseDetails, + ApplyRefundResponse, + Amounts, +} from "@gnu-taler/taler-util"; function RefundStatusView(props: { talerRefundUri: string }): JSX.Element { const [applyResult, setApplyResult] = useState(); @@ -57,15 +61,20 @@ function RefundStatusView(props: { talerRefundUri: string }): JSX.Element { <>

Refund Status

- The product {applyResult.info.summary} has - received a total effective refund of{" "} + The product {applyResult.info.summary} has received a total + effective refund of{" "} .

- {applyResult.pendingAtExchange ?

Refund processing is still in progress.

: null} - {!Amounts.isZero(applyResult.amountRefundGone) ?

- The refund amount of - could not be applied. -

: null} + {applyResult.pendingAtExchange ? ( +

Refund processing is still in progress.

+ ) : null} + {!Amounts.isZero(applyResult.amountRefundGone) ? ( +

+ The refund amount of{" "} + + could not be applied. +

+ ) : null} ); } diff --git a/packages/taler-wallet-webextension/src/pages/tip.tsx b/packages/taler-wallet-webextension/src/pages/tip.tsx index 29c07cfe9..b1ac27228 100644 --- a/packages/taler-wallet-webextension/src/pages/tip.tsx +++ b/packages/taler-wallet-webextension/src/pages/tip.tsx @@ -22,7 +22,7 @@ import * as React from "react"; import { useEffect, useState } from "react"; -import { PrepareTipResult } from "@gnu-taler/taler-wallet-core"; +import { PrepareTipResult } from "@gnu-taler/taler-util"; import { AmountView } from "../renderHtml"; import * as wxApi from "../wxApi"; @@ -65,8 +65,8 @@ function TalerTipDialog({ talerTipUri }: { talerTipUri: string }): JSX.Element { if (prepareTipResult.accepted) { return ( - Tip from {prepareTipResult.merchantBaseUrl} accepted. - Check your transactions list for more details. + Tip from {prepareTipResult.merchantBaseUrl} accepted. Check + your transactions list for more details. ); } else { @@ -75,8 +75,10 @@ function TalerTipDialog({ talerTipUri }: { talerTipUri: string }): JSX.Element {

The merchant {prepareTipResult.merchantBaseUrl} is offering you a tip of{" "} - via the - exchange {prepareTipResult.exchangeBaseUrl} + + + {" "} + via the exchange {prepareTipResult.exchangeBaseUrl}

diff --git a/packages/taler-wallet-webextension/src/pages/welcome.tsx b/packages/taler-wallet-webextension/src/pages/welcome.tsx index fb4af573d..dd10ac13c 100644 --- a/packages/taler-wallet-webextension/src/pages/welcome.tsx +++ b/packages/taler-wallet-webextension/src/pages/welcome.tsx @@ -26,7 +26,7 @@ import { PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; import { getPermissionsApi } from "../compat"; import { extendedPermissions } from "../permissions"; -import { WalletDiagnostics } from "@gnu-taler/taler-wallet-core"; +import { WalletDiagnostics } from "@gnu-taler/taler-util"; function Diagnostics(): JSX.Element | null { const [timedOut, setTimedOut] = useState(false); diff --git a/packages/taler-wallet-webextension/src/pages/withdraw.tsx b/packages/taler-wallet-webextension/src/pages/withdraw.tsx index 02758fd93..c4a02817c 100644 --- a/packages/taler-wallet-webextension/src/pages/withdraw.tsx +++ b/packages/taler-wallet-webextension/src/pages/withdraw.tsx @@ -23,7 +23,7 @@ import * as i18n from "../i18n"; -import { WithdrawDetailView, renderAmount } from "../renderHtml"; +import { renderAmount } from "../renderHtml"; import React, { useState, useEffect } from "react"; import { @@ -31,7 +31,7 @@ import { onUpdateNotification, getWithdrawalDetailsForUri, } from "../wxApi"; -import { WithdrawUriInfoResponse } from "@gnu-taler/taler-wallet-core"; +import { WithdrawUriInfoResponse } from "@gnu-taler/taler-util"; function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element { const [details, setDetails] = useState(); diff --git a/packages/taler-wallet-webextension/src/renderHtml.tsx b/packages/taler-wallet-webextension/src/renderHtml.tsx index c18c5c199..3e66e5c5d 100644 --- a/packages/taler-wallet-webextension/src/renderHtml.tsx +++ b/packages/taler-wallet-webextension/src/renderHtml.tsx @@ -23,9 +23,12 @@ /** * Imports. */ -import { AmountJson, Amounts, stringifyTimestamp, ExchangeWithdrawDetails } from "@gnu-taler/taler-wallet-core"; -import * as i18n from "./i18n"; import React from "react"; +import { + AmountJson, + Amounts, + amountFractionalBase, +} from "@gnu-taler/taler-util"; /** * Render amount as HTML, which non-breaking space between @@ -41,7 +44,7 @@ export function renderAmount(amount: AmountJson | string): JSX.Element { if (!a) { return (invalid amount); } - const x = a.value + a.fraction / Amounts.fractionalBase; + const x = a.value + a.fraction / amountFractionalBase; return ( {x} {a.currency} @@ -125,164 +128,6 @@ export class Collapsible extends React.Component< } } -function WireFee(props: { - s: string; - rci: ExchangeWithdrawDetails; -}): JSX.Element { - return ( - <> - - - Wire Method {props.s} - - - Applies Until - Wire Fee - Closing Fee - - - - {props.rci.wireFees.feesForType[props.s].map((f) => ( - - {stringifyTimestamp(f.endStamp)} - {renderAmount(f.wireFee)} - {renderAmount(f.closingFee)} - - ))} - - - ); -} - -function AuditorDetailsView(props: { - rci: ExchangeWithdrawDetails | null; -}): JSX.Element { - const rci = props.rci; - console.log("rci", rci); - if (!rci) { - return ( -

- Details will be displayed when a valid exchange provider URL is entered. -

- ); - } - if ((rci.exchangeInfo.details?.auditors ?? []).length === 0) { - return

The exchange is not audited by any auditors.

; - } - return ( -
- {(rci.exchangeInfo.details?.auditors ?? []).map((a) => ( -
-

Auditor {a.auditor_url}

-

- Public key: -

-

- Trusted:{" "} - {rci.trustedAuditorPubs.indexOf(a.auditor_pub) >= 0 ? "yes" : "no"} -

-

- Audits {a.denomination_keys.length} of {rci.numOfferedDenoms}{" "} - denominations -

-
- ))} -
- ); -} - -function FeeDetailsView(props: { - rci: ExchangeWithdrawDetails | null; -}): JSX.Element { - const rci = props.rci; - if (!rci) { - return ( -

- Details will be displayed when a valid exchange provider URL is entered. -

- ); - } - - const denoms = rci.selectedDenoms; - const withdrawFee = renderAmount(rci.withdrawFee); - const overhead = renderAmount(rci.overhead); - - return ( -
-

Overview

-

- Public key:{" "} - -

-

- {i18n.str`Withdrawal fees:`} {withdrawFee} -

-

- {i18n.str`Rounding loss:`} {overhead} -

-

{i18n.str`Earliest expiration (for deposit): ${stringifyTimestamp( - rci.earliestDepositExpiration, - )}`}

-

Coin Fees

-
- - - - - - - - - - - - {denoms.selectedDenoms.map((ds) => { - return ( - - - - - - - - ); - })} - -
{i18n.str`# Coins`}{i18n.str`Value`}{i18n.str`Withdraw Fee`}{i18n.str`Refresh Fee`}{i18n.str`Deposit Fee`}
{ds.count + "x"}{renderAmount(ds.denom.value)}{renderAmount(ds.denom.feeWithdraw)}{renderAmount(ds.denom.feeRefresh)}{renderAmount(ds.denom.feeDeposit)}
-
-

Wire Fees

-
- - {Object.keys(rci.wireFees.feesForType).map((s) => ( - - ))} -
-
-
- ); -} - -/** - * Shows details about a withdraw request. - */ -export function WithdrawDetailView(props: { - rci: ExchangeWithdrawDetails | null; -}): JSX.Element { - const rci = props.rci; - return ( -
- - - - - - -
- ); -} - interface ExpanderTextProps { text: string; } diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 3c01dfe96..c14047cf0 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -22,21 +22,21 @@ * Imports. */ import { + CoreApiResponse, ConfirmPayResult, BalancesResponse, + TransactionsResponse, + ApplyRefundResponse, PreparePayResult, AcceptWithdrawalResponse, WalletDiagnostics, - CoreApiResponse, - OperationFailedError, GetWithdrawalDetailsForUriRequest, WithdrawUriInfoResponse, - TransactionsResponse, - ApplyRefundResponse, PrepareTipRequest, PrepareTipResult, AcceptTipRequest, -} from "@gnu-taler/taler-wallet-core"; +} from "@gnu-taler/taler-util"; +import { OperationFailedError } from "@gnu-taler/taler-wallet-core"; export interface ExtendedPermissionsResponse { newValue: boolean; diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts index 64dd25fb8..62cedc9a9 100644 --- a/packages/taler-wallet-webextension/src/wxBackend.ts +++ b/packages/taler-wallet-webextension/src/wxBackend.ts @@ -25,22 +25,23 @@ */ import { isFirefox, getPermissionsApi } from "./compat"; import { extendedPermissions } from "./permissions"; - import { Wallet, OpenedPromise, openPromise, openTalerDatabase, Database, - classifyTalerUri, - TalerUriType, + Stores, makeErrorDetails, - TalerErrorCode, +} from "@gnu-taler/taler-wallet-core"; +import { + classifyTalerUri, CoreApiResponse, - WalletDiagnostics, CoreApiResponseSuccess, - Stores, -} from "@gnu-taler/taler-wallet-core"; + TalerErrorCode, + TalerUriType, + WalletDiagnostics, +} from "@gnu-taler/taler-util"; import { BrowserHttpLib } from "./browserHttpLib"; import { BrowserCryptoWorkerFactory } from "./browserCryptoWorkerFactory"; diff --git a/packages/taler-wallet-webextension/tsconfig.json b/packages/taler-wallet-webextension/tsconfig.json index 4b1bb19be..417a73b1b 100644 --- a/packages/taler-wallet-webextension/tsconfig.json +++ b/packages/taler-wallet-webextension/tsconfig.json @@ -1,22 +1,30 @@ { - "compilerOptions": { - "composite": true, - "lib": ["es6", "DOM"], - "jsx": "react", - "moduleResolution": "Node", - "reactNamespace": "React", - "module": "ESNext", - "target": "ES6", - "noImplicitAny": true, - "outDir": "lib", - "noEmitOnError": true, - "strict": true, - "incremental": true, - "sourceMap": true, - "esModuleInterop": true, - "importHelpers": true, - "rootDir": "./src", - "typeRoots": ["./node_modules/@types"] + "compilerOptions": { + "composite": true, + "lib": ["es6", "DOM"], + "jsx": "react", + "moduleResolution": "Node", + "reactNamespace": "React", + "module": "ESNext", + "target": "ES6", + "noImplicitAny": true, + "outDir": "lib", + "noEmitOnError": true, + "strict": true, + "incremental": true, + "sourceMap": true, + "esModuleInterop": true, + "importHelpers": true, + "rootDir": "./src", + "typeRoots": ["./node_modules/@types"] + }, + "references": [ + { + "path": "../taler-wallet-core/" }, - "include": ["src/**/*"] + { + "path": "../taler-util/" + } + ], + "include": ["src/**/*"] } -- cgit v1.2.3