/* 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 } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { Amount } from "../../components/Amount.js"; import { LoadingError } from "../../components/LoadingError.js"; import { LogoHeader } from "../../components/LogoHeader.js"; import { Part } from "../../components/Part.js"; import { Link, SubTitle, WalletAction } from "../../components/styled/index.js"; import { useTranslationContext } from "../../context/translation.js"; import { Button } from "../../mui/Button.js"; import { ProductList } from "../../components/ProductList.js"; import { State } from "./index.js"; export function LoadingUriView({ error }: State.LoadingUriError): VNode { const { i18n } = useTranslationContext(); return ( Could not load refund status} error={error} /> ); } export function IgnoredView(state: State.Ignored): VNode { const { i18n } = useTranslationContext(); return ( Digital cash refund

You've ignored the tip.

); } export function InProgressView(state: State.InProgress): VNode { const { i18n } = useTranslationContext(); return ( Digital cash refund

The refund is in progress.

Total to refund} text={} kind="negative" /> Refunded} text={} kind="negative" />
{state.products && state.products.length ? (
) : undefined}
); } export function ReadyView(state: State.Ready): VNode { const { i18n } = useTranslationContext(); return ( Digital cash refund

The merchant "{state.merchantName}" is offering you a refund.

Order amount} text={} kind="neutral" /> {Amounts.isNonZero(state.granted) && ( Already refunded} text={} kind="neutral" /> )} Refund offered} text={} kind="positive" />
{state.products && state.products.length ? (
) : undefined}
Cancel
); }