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

- -
- )} -

Custom Selection

-

- setCustomUrl(e.target.value)} - value={customUrl} - /> -

- -
- ); - } - 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