/* This file is part of GNU Taler (C) 2019 Taler Systems SA 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 { PaytoUri, i18n } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useEffect, useState } from "preact/hooks"; import { CopiedIcon, CopyIcon } from "../svg"; import { ButtonBox, TooltipRight } from "./styled"; export interface BankDetailsProps { payto: PaytoUri | undefined; exchangeBaseUrl: string; subject: string; amount: string; } export function BankDetailsByPaytoType({ payto, subject, exchangeBaseUrl, amount, }: BankDetailsProps): VNode { const firstPart = !payto ? undefined : !payto.isKnown ? ( Account} value={payto.targetPath} /> ) : payto.targetType === "x-taler-bank" ? ( Bank host} value={payto.host} /> Bank account} value={payto.account} /> ) : payto.targetType === "iban" ? ( IBAN} value={payto.iban} /> ) : undefined; return (

Bank transfer details

{firstPart} Exchange} value={exchangeBaseUrl} /> Chosen amount} value={amount} /> Subject} value={subject} literal />
); } function Row({ name, value, literal, }: { name: VNode; value: string; literal?: boolean; }): VNode { const [copied, setCopied] = useState(false); function copyText(): void { navigator.clipboard.writeText(value); setCopied(true); } useEffect(() => { if (copied) { setTimeout(() => { setCopied(false); }, 1000); } }, [copied]); return ( {!copied ? ( ) : ( )} {name} {literal ? (
            {value}
          
) : ( {value} )} ); }