/*
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 { Fragment, h, VNode } from "preact";
import { State } from "./index.js";
import { useTranslationContext } from "../../context/translation.js";
import { Amount } from "../../components/Amount.js";
import { ErrorTalerOperation } from "../../components/ErrorTalerOperation.js";
import { Loading } from "../../components/Loading.js";
import { LoadingError } from "../../components/LoadingError.js";
import { LogoHeader } from "../../components/LogoHeader.js";
import { Part } from "../../components/Part.js";
import { SelectList } from "../../components/SelectList.js";
import {
Input,
LinkSuccess,
SubTitle,
SuccessBox,
WalletAction,
} from "../../components/styled/index.js";
import { Amounts } from "@gnu-taler/taler-util";
import { TermsOfServiceSection } from "../TermsOfServiceSection.js";
import { Button } from "../../mui/Button.js";
export function LoadingUriView({ error }: State.LoadingUriError): VNode {
const { i18n } = useTranslationContext();
return (
Could not get the info from the URI
}
error={error}
/>
);
}
export function LoadingExchangeView({
error,
}: State.LoadingExchangeError): VNode {
const { i18n } = useTranslationContext();
return (
Could not get exchange}
error={error}
/>
);
}
export function LoadingInfoView({ error }: State.LoadingInfoError): VNode {
const { i18n } = useTranslationContext();
return (
Could not get info of withdrawal}
error={error}
/>
);
}
export function CompletedView(state: State.Completed): VNode {
const { i18n } = useTranslationContext();
return (
Digital cash withdrawal
Withdrawal in process...
You can close the page now. Check your bank if the transaction need
a confirmation step to be completed
);
}
export function SuccessView(state: State.Success): VNode {
const { i18n } = useTranslationContext();
return (
Digital cash withdrawal
{state.doWithdrawal.error && (
Could not finish the withdrawal operation
}
error={state.doWithdrawal.error.errorDetail}
/>
)}
Total to withdraw}
text={}
kind="positive"
/>
{Amounts.isNonZero(state.withdrawalFee) && (
Chosen amount}
text={}
kind="neutral"
/>
Exchange fee}
text={}
kind="negative"
/>
)}
Exchange}
text={state.exchange.value}
kind="neutral"
big
/>
{state.showExchangeSelection ? (
Known exchanges}
list={state.exchange.list}
value={state.exchange.value}
name="switchingExchange"
onChange={state.exchange.onChange}
/>