/* 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 { useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; import { Amount } from "../../components/Amount.js"; import { AmountField } from "../../components/AmountField.js"; import { Part } from "../../components/Part.js"; import { QR } from "../../components/QR.js"; import { SelectList } from "../../components/SelectList.js"; import { TermsOfService } from "../../components/TermsOfService/index.js"; import { Input, LinkSuccess, SvgIcon, WarningBox } from "../../components/styled/index.js"; import { Button } from "../../mui/Button.js"; import { Grid } from "../../mui/Grid.js"; import editIcon from "../../svg/edit_24px.inline.svg"; import { ExchangeDetails, WithdrawDetails, getAmountWithFee, } from "../../wallet/Transaction.js"; import { State } from "./index.js"; import { EnabledBySettings } from "../../components/EnabledBySettings.js"; export function FinalStateOperation(state: State.AlreadyCompleted): VNode { const { i18n } = useTranslationContext(); switch (state.operationState) { case "confirmed": return
This operation has already been completed by another wallet.
case "aborted": return
This operation has already been aborted
case "selected": return
This operation has already been used by another wallet.
It can be confirmed in  this page
} } export function SuccessView(state: State.Success): VNode { const { i18n } = useTranslationContext(); // const currentTosVersionIsAccepted = // state.currentExchange.tosStatus === ExchangeTosStatus.Accepted; return (
Exchange } text={ } kind="neutral" big /> {state.chooseCurrencies.length > 0 ?

{state.chooseCurrencies.map(currency => { return })}

: } } /> {state.ageRestriction && ( )}
{/*
*/} {/*
*/}
{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 />
); }