summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/pages/withdraw.tsx
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-08-14 00:13:51 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-08-14 00:13:51 +0530
commitcbe325cb0f3e492e28ee148106c6c81e4db7d6bf (patch)
treed78440a7cc4dc94fa1cb90a2d210d4c16ef7d779 /packages/taler-wallet-webextension/src/pages/withdraw.tsx
parent599c8380f23584c24633927cafe8277fb9e41579 (diff)
downloadwallet-core-cbe325cb0f3e492e28ee148106c6c81e4db7d6bf.tar.gz
wallet-core-cbe325cb0f3e492e28ee148106c6c81e4db7d6bf.tar.bz2
wallet-core-cbe325cb0f3e492e28ee148106c6c81e4db7d6bf.zip
web extension WIP
Diffstat (limited to 'packages/taler-wallet-webextension/src/pages/withdraw.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/pages/withdraw.tsx102
1 files changed, 8 insertions, 94 deletions
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<void> => {
- // 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 (
- <div>
- <i18n.Translate wrap="p">
- Could not get details for withdraw operation:
- </i18n.Translate>
- <p style={{ color: "red" }}>{errMsg}</p>
- <p>
- <span
- role="button"
- tabIndex={0}
- style={{ textDecoration: "underline", cursor: "pointer" }}
- onClick={() => {
- setSelecting(true);
- setErrMsg(undefined);
- setSelectedExchange(undefined);
- setDetails(undefined);
- }}
- >
- {i18n.str`Chose different exchange provider`}
- </span>
- </p>
- </div>
- );
- }
-
if (!details) {
return <span>Loading...</span>;
}
@@ -111,51 +70,6 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
return <span>Withdraw operation has been cancelled.</span>;
}
- if (selecting) {
- const bankSuggestion =
- details && details.bankWithdrawDetails.suggestedExchange;
- return (
- <div>
- {i18n.str`Please select an exchange. You can review the details before after your selection.`}
- {bankSuggestion && (
- <div>
- <h2>Bank Suggestion</h2>
- <button
- className="pure-button button-success"
- onClick={() => {
- setDetails(undefined);
- setSelectedExchange(bankSuggestion);
- setSelecting(false);
- }}
- >
- <i18n.Translate wrap="span">
- Select <strong>{bankSuggestion}</strong>
- </i18n.Translate>
- </button>
- </div>
- )}
- <h2>Custom Selection</h2>
- <p>
- <input
- type="text"
- onChange={(e) => setCustomUrl(e.target.value)}
- value={customUrl}
- />
- </p>
- <button
- className="pure-button button-success"
- onClick={() => {
- setDetails(undefined);
- setSelectedExchange(customUrl);
- setSelecting(false);
- }}
- >
- <i18n.Translate wrap="span">Select custom exchange</i18n.Translate>
- </button>
- </div>
- );
- }
-
const accept = async (): Promise<void> => {
if (!selectedExchange) {
throw Error("can't accept, no exchange selected");
@@ -173,7 +87,7 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
<h1>Digital Cash Withdrawal</h1>
<i18n.Translate wrap="p">
You are about to withdraw{" "}
- <strong>{renderAmount(details.bankWithdrawDetails.amount)}</strong> from
+ <strong>{renderAmount(details.amount)}</strong> from
your bank account into your wallet.
</i18n.Translate>
{selectedExchange ? (
@@ -211,9 +125,9 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
</span>
</p>
- {details.exchangeWithdrawDetails ? (
+ {/* {details.exchangeWithdrawDetails ? (
<WithdrawDetailView rci={details.exchangeWithdrawDetails} />
- ) : null}
+ ) : null} */}
</div>
</div>
);