/*
This file is part of TALER
(C) 2015 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 entering
* a contract.
*/
/**
* Imports.
*/
// import * as i18n from "../i18n";
import { AmountJson, AmountLike, Amounts, ConfirmPayResult, ConfirmPayResultDone, ConfirmPayResultType, ContractTerms, getJsonI18n, i18n, PreparePayResult, PreparePayResultType } from "@gnu-taler/taler-util";
import { Fragment, JSX, VNode } from "preact";
import { useEffect, useState } from "preact/hooks";
import { LogoHeader } from "../components/LogoHeader";
import { Part } from "../components/Part";
import { QR } from "../components/QR";
import { ButtonSuccess, LinkSuccess, SuccessBox, WalletAction, WarningBox } from "../components/styled";
import { useBalances } from "../hooks/useBalances";
import * as wxApi from "../wxApi";
interface Props {
talerPayUri?: string
}
// export function AlreadyPaid({ payStatus }: { payStatus: PreparePayResult }) {
// const fulfillmentUrl = payStatus.contractTerms.fulfillment_url;
// let message;
// if (fulfillmentUrl) {
// message = (
//
// You have already paid for this article. Click{" "}
// here to view it again.
//
// );
// } else {
// message =
// You have already paid for this article:{" "}
//
// {payStatus.contractTerms.fulfillment_message ?? "no message given"}
//
// ;
// }
// return
//
}
}
function ButtonsSection() {
if (payErrMsg) {
return
Payment failed: {payErrMsg}
}
if (payStatus.status === PreparePayResultType.PaymentPossible) {
return
{i18n.str`Pay`} {amountToString(payStatus.amountEffective)}
}
if (payStatus.status === PreparePayResultType.InsufficientBalance) {
return
{balance ?
Your balance of {amountToString(balance)} is not enough to pay for this purchase
:
Your balance is not enough to pay for this purchase.
}
{i18n.str`Withdraw digital cash`}
}
if (payStatus.status === PreparePayResultType.AlreadyConfirmed) {
return
{payStatus.paid && contractTerms.fulfillment_message && }
{!payStatus.paid && }
}
return
}
return