diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/pages')
-rw-r--r-- | packages/taler-wallet-webextension/src/pages/popup.tsx | 8 | ||||
-rw-r--r-- | packages/taler-wallet-webextension/src/pages/withdraw.tsx | 102 |
2 files changed, 12 insertions, 98 deletions
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<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> ); |