/* This file is part of GNU Taler (C) 2022 Taler Systems S.A. GNU 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. GNU 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 GNU Taler; see the file COPYING. If not, see */ import { Amounts, ExchangeTosStatus } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { Amount } from "../../components/Amount.js"; import { Part } from "../../components/Part.js"; import { QR } from "../../components/QR.js"; import { SelectList } from "../../components/SelectList.js"; import { Input, LinkSuccess, SvgIcon } from "../../components/styled/index.js"; import { TermsOfService } from "../../components/TermsOfService/index.js"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { Button } from "../../mui/Button.js"; import editIcon from "../../svg/edit_24px.inline.svg"; import { ExchangeDetails, getAmountWithFee, WithdrawDetails, } from "../../wallet/Transaction.js"; import { State } from "./index.js"; import { Grid } from "../../mui/Grid.js"; import { AmountField } from "../../components/AmountField.js"; export function SuccessView(state: State.Success): VNode { const { i18n } = useTranslationContext(); const currentTosVersionIsAccepted = state.currentExchange.tosStatus === ExchangeTosStatus.Accepted; return (
Exchange } text={ } kind="neutral" big /> } /> {state.ageRestriction && ( )}
{currentTosVersionIsAccepted ? ( ) : ( )}
{state.talerWithdrawUri ? ( ) : undefined}
); } function WithdrawWithMobile({ talerWithdrawUri, }: { talerWithdrawUri: string; }): VNode { const { i18n } = useTranslationContext(); const [showQR, setShowQR] = useState(false); return (
setShowQR((qr) => !qr)}> {!showQR ? i18n.str`Withdraw to a mobile phone` : i18n.str`Hide QR`} {showQR && (
Scan the QR code or   click here
)}
); } export function SelectAmountView({ currency, amount, exchangeBaseUrl, confirm, }: State.SelectAmount): VNode { const { i18n } = useTranslationContext(); return (
Exchange } text={} kind="neutral" big />
); }