From ffd2a62c3f7df94365980302fef3bc3376b48182 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 3 Aug 2020 13:00:48 +0530 Subject: modularize repo, use pnpm, improve typechecking --- src/webex/pages/withdraw.tsx | 229 ------------------------------------------- 1 file changed, 229 deletions(-) delete mode 100644 src/webex/pages/withdraw.tsx (limited to 'src/webex/pages/withdraw.tsx') diff --git a/src/webex/pages/withdraw.tsx b/src/webex/pages/withdraw.tsx deleted file mode 100644 index 4a92704b3..000000000 --- a/src/webex/pages/withdraw.tsx +++ /dev/null @@ -1,229 +0,0 @@ -/* - This file is part of TALER - (C) 2015-2016 GNUnet e.V. - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see - */ - -/** - * Page shown to the user to confirm creation - * of a reserve, usually requested by the bank. - * - * @author Florian Dold - */ - -import * as i18n from "../i18n"; - -import { WithdrawDetailView, renderAmount } from "../renderHtml"; - -import React, { useState, useEffect } from "react"; -import { - acceptWithdrawal, - onUpdateNotification, -} from "../wxApi"; - -function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element { - const [details, setDetails] = useState< - any | undefined - >(); - const [selectedExchange, setSelectedExchange] = useState< - string | undefined - >(); - const talerWithdrawUri = props.talerWithdrawUri; - const [cancelled, setCancelled] = useState(false); - const [selecting, setSelecting] = useState(false); - const [customUrl, setCustomUrl] = useState(""); - const [errMsg, setErrMsg] = useState(""); - const [updateCounter, setUpdateCounter] = useState(1); - - useEffect(() => { - return onUpdateNotification(() => { - setUpdateCounter(updateCounter + 1); - }); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - 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); - }; - 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...; - } - - if (cancelled) { - 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"); - } - console.log("accepting exchange", selectedExchange); - const res = await acceptWithdrawal(talerWithdrawUri, selectedExchange); - console.log("accept withdrawal response", res); - if (res.confirmTransferUrl) { - document.location.href = res.confirmTransferUrl; - } - }; - - return ( -
-

Digital Cash Withdrawal

- - You are about to withdraw{" "} - {renderAmount(details.bankWithdrawDetails.amount)} from - your bank account into your wallet. - - {selectedExchange ? ( -

- The exchange {selectedExchange} will be used as the - Taler payment service provider. -

- ) : null} - -
- -

- setSelecting(true)} - > - {i18n.str`Chose different exchange provider`} - -
- setCancelled(true)} - > - {i18n.str`Cancel withdraw operation`} - -

- - {details.exchangeWithdrawDetails ? ( - - ) : null} -
-
- ); -} - -export function createWithdrawPage(): JSX.Element { - const url = new URL(document.location.href); - const talerWithdrawUri = url.searchParams.get("talerWithdrawUri"); - if (!talerWithdrawUri) { - throw Error("withdraw URI required"); - } - return ; -} -- cgit v1.2.3