From 5a7269b20db0371535669c0faa7f1814d967b5ca Mon Sep 17 00:00:00 2001
From: Florian Dold
Date: Sat, 31 Aug 2019 11:49:36 +0200
Subject: cli refunds
---
src/webex/pages/pay.tsx | 13 +++++++------
src/webex/pages/refund.tsx | 8 ++++++--
src/webex/pages/tip.tsx | 29 +++--------------------------
src/webex/renderHtml.tsx | 25 +++++++++++++++++++++++++
src/webex/wxBackend.ts | 2 +-
5 files changed, 42 insertions(+), 35 deletions(-)
(limited to 'src/webex')
diff --git a/src/webex/pages/pay.tsx b/src/webex/pages/pay.tsx
index d929426c4..1561dd95f 100644
--- a/src/webex/pages/pay.tsx
+++ b/src/webex/pages/pay.tsx
@@ -30,7 +30,7 @@ import { ExchangeRecord, ProposalDownloadRecord } from "../../dbTypes";
import { ContractTerms } from "../../talerTypes";
import { CheckPayResult, PreparePayResult } from "../../walletTypes";
-import { renderAmount } from "../renderHtml";
+import { renderAmount, ProgressButton } from "../renderHtml";
import * as wxApi from "../wxApi";
import React, { useState, useEffect } from "react";
@@ -44,6 +44,7 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }) {
const [payStatus, setPayStatus] = useState();
const [payErrMsg, setPayErrMsg] = useState("");
const [numTries, setNumTries] = useState(0);
+ const [loading, setLoading] = useState(false);
let totalFees: Amounts.AmountJson | undefined = undefined;
useEffect(() => {
@@ -99,6 +100,7 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }) {
const doPayment = async () => {
setNumTries(numTries + 1);
try {
+ setLoading(true);
const res = await wxApi.confirmPay(payStatus!.proposalId!, undefined);
document.location.href = res.nextUrl;
} catch (e) {
@@ -140,12 +142,11 @@ function TalerPayDialog({ talerPayUri }: { talerPayUri: string }) {
) : (
-
+
)}
diff --git a/src/webex/pages/refund.tsx b/src/webex/pages/refund.tsx
index 6bc1a136e..57d740486 100644
--- a/src/webex/pages/refund.tsx
+++ b/src/webex/pages/refund.tsx
@@ -188,8 +188,12 @@ async function main() {
return;
}
- const contractTermsHash = query.contractTermsHash;
- const refundUrl = query.refundUrl;
+ const talerRefundUri = query.talerRefundUri;
+ if (!talerRefundUri) {
+ console.error("taler refund URI requred");
+ return;
+ }
+
ReactDOM.render(, container);
}
diff --git a/src/webex/pages/tip.tsx b/src/webex/pages/tip.tsx
index a3f5c38c3..0a066053b 100644
--- a/src/webex/pages/tip.tsx
+++ b/src/webex/pages/tip.tsx
@@ -29,35 +29,12 @@ import * as i18n from "../../i18n";
import { acceptTip, getReserveCreationInfo, getTipStatus } from "../wxApi";
-import { WithdrawDetailView, renderAmount } from "../renderHtml";
+import { WithdrawDetailView, renderAmount, ProgressButton } from "../renderHtml";
import * as Amounts from "../../amounts";
import { useState, useEffect } from "react";
import { TipStatus } from "../../walletTypes";
-interface LoadingButtonProps {
- loading: boolean;
-}
-
-function LoadingButton(
- props:
- & React.PropsWithChildren
- & React.DetailedHTMLProps<
- React.ButtonHTMLAttributes,
- HTMLButtonElement
- >,
-) {
- return (
-
- );
-}
function TipDisplay(props: { talerTipUri: string }) {
const [tipStatus, setTipStatus] = useState(undefined);
@@ -110,9 +87,9 @@ function TipDisplay(props: { talerTipUri: string }) {
operation.