From cbe325cb0f3e492e28ee148106c6c81e4db7d6bf Mon Sep 17 00:00:00 2001
From: Florian Dold
Date: Fri, 14 Aug 2020 00:13:51 +0530
Subject: web extension WIP
---
.../taler-wallet-webextension/src/pages/popup.tsx | 8 +-
.../src/pages/withdraw.tsx | 102 ++-------------------
2 files changed, 12 insertions(+), 98 deletions(-)
(limited to 'packages/taler-wallet-webextension/src/pages')
diff --git a/packages/taler-wallet-webextension/src/pages/popup.tsx b/packages/taler-wallet-webextension/src/pages/popup.tsx
index 61edcfe50..e833f5950 100644
--- a/packages/taler-wallet-webextension/src/pages/popup.tsx
+++ b/packages/taler-wallet-webextension/src/pages/popup.tsx
@@ -397,19 +397,19 @@ function actionForTalerUri(talerUri: string): string | undefined {
const uriType = classifyTalerUri(talerUri);
switch (uriType) {
case TalerUriType.TalerWithdraw:
- return makeExtensionUrlWithParams("withdraw.html", {
+ return makeExtensionUrlWithParams("static/withdraw.html", {
talerWithdrawUri: talerUri,
});
case TalerUriType.TalerPay:
- return makeExtensionUrlWithParams("pay.html", {
+ return makeExtensionUrlWithParams("static/pay.html", {
talerPayUri: talerUri,
});
case TalerUriType.TalerTip:
- return makeExtensionUrlWithParams("tip.html", {
+ return makeExtensionUrlWithParams("static/tip.html", {
talerTipUri: talerUri,
});
case TalerUriType.TalerRefund:
- return makeExtensionUrlWithParams("refund.html", {
+ return makeExtensionUrlWithParams("static/refund.html", {
talerRefundUri: talerUri,
});
case TalerUriType.TalerNotifyReserve:
diff --git a/packages/taler-wallet-webextension/src/pages/withdraw.tsx b/packages/taler-wallet-webextension/src/pages/withdraw.tsx
index 4a92704b3..1637176a9 100644
--- a/packages/taler-wallet-webextension/src/pages/withdraw.tsx
+++ b/packages/taler-wallet-webextension/src/pages/withdraw.tsx
@@ -29,11 +29,13 @@ import React, { useState, useEffect } from "react";
import {
acceptWithdrawal,
onUpdateNotification,
+ getWithdrawalDetailsForUri,
} from "../wxApi";
+import { WithdrawUriInfoResponse } from "taler-wallet-core";
function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
const [details, setDetails] = useState<
- any | undefined
+ WithdrawUriInfoResponse | undefined
>();
const [selectedExchange, setSelectedExchange] = useState<
string | undefined
@@ -54,55 +56,12 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
useEffect(() => {
const fetchData = async (): Promise => {
- // FIXME: re-implement with new API
- // console.log("getting from", talerWithdrawUri);
- // let d: WithdrawalDetailsResponse | undefined = undefined;
- // try {
- // d = await getWithdrawDetails(talerWithdrawUri, selectedExchange);
- // } catch (e) {
- // console.error(
- // `error getting withdraw details for uri ${talerWithdrawUri}, exchange ${selectedExchange}`,
- // e,
- // );
- // setErrMsg(e.message);
- // return;
- // }
- // console.log("got withdrawDetails", d);
- // if (!selectedExchange && d.bankWithdrawDetails.suggestedExchange) {
- // console.log("setting selected exchange");
- // setSelectedExchange(d.bankWithdrawDetails.suggestedExchange);
- // }
- // setDetails(d);
+ const res = await getWithdrawalDetailsForUri({talerWithdrawUri: props.talerWithdrawUri});
+ setDetails(res);
};
fetchData();
}, [selectedExchange, errMsg, selecting, talerWithdrawUri, updateCounter]);
- if (errMsg) {
- return (
-
-
- Could not get details for withdraw operation:
-
-
{errMsg}
-
- {
- setSelecting(true);
- setErrMsg(undefined);
- setSelectedExchange(undefined);
- setDetails(undefined);
- }}
- >
- {i18n.str`Chose different exchange provider`}
-
-
-
- );
- }
-
if (!details) {
return Loading... ;
}
@@ -111,51 +70,6 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
return Withdraw operation has been cancelled. ;
}
- if (selecting) {
- const bankSuggestion =
- details && details.bankWithdrawDetails.suggestedExchange;
- return (
-
- {i18n.str`Please select an exchange. You can review the details before after your selection.`}
- {bankSuggestion && (
-
-
Bank Suggestion
- {
- setDetails(undefined);
- setSelectedExchange(bankSuggestion);
- setSelecting(false);
- }}
- >
-
- Select {bankSuggestion}
-
-
-
- )}
-
Custom Selection
-
- setCustomUrl(e.target.value)}
- value={customUrl}
- />
-
-
{
- setDetails(undefined);
- setSelectedExchange(customUrl);
- setSelecting(false);
- }}
- >
- Select custom exchange
-
-
- );
- }
-
const accept = async (): Promise => {
if (!selectedExchange) {
throw Error("can't accept, no exchange selected");
@@ -173,7 +87,7 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
Digital Cash Withdrawal
You are about to withdraw{" "}
- {renderAmount(details.bankWithdrawDetails.amount)} from
+ {renderAmount(details.amount)} from
your bank account into your wallet.
{selectedExchange ? (
@@ -211,9 +125,9 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
- {details.exchangeWithdrawDetails ? (
+ {/* {details.exchangeWithdrawDetails ? (
- ) : null}
+ ) : null} */}
);
--
cgit v1.2.3