/* This file is part of GNU Taler (C) 2021-2024 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 */ /** * * @author Sebastian Javier Marchano (sebasjm) */ import { TalerMerchantApi, stringifyPayTemplateUri } from "@gnu-taler/taler-util"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { VNode, h } from "preact"; import { QR } from "../../../../components/exception/QR.js"; import { useSessionContext } from "../../../../context/session.js"; // type Entity = TalerMerchantApi.UsingTemplateDetails; interface Props { contract: TalerMerchantApi.TemplateContractDetails; id: string; onBack?: () => void; } export function QrPage({ id: templateId, onBack }: Props): VNode { const { i18n } = useTranslationContext(); const { state } = useSessionContext(); // const [state, setState] = useState>({ // amount: contract.amount, // summary: contract.summary, // }); // const errors: FormErrors = {}; // const fixedAmount = !!contract.amount; // const fixedSummary = !!contract.summary; // const templateParams: Record = {}; // if (!fixedAmount) { // if (state.amount) { // templateParams.amount = state.amount; // } else { // templateParams.amount = config.currency; // } // } // if (!fixedSummary) { // templateParams.summary = state.summary ?? ""; // } const merchantBaseUrl = state.backendUrl.href; const payTemplateUri = stringifyPayTemplateUri({ merchantBaseUrl, templateId, templateParams: {}, }); return (
          {payTemplateUri}
        
{/*

Here you can specify a default value for fields that are not fixed. Default values can be edited by the customer before the payment.

*/}

{/* name="amount" label={i18n.str`Amount`} readonly tooltip={i18n.str`Amount of the order`} /> name="summary" inputType="multiline" readonly label={i18n.str`Summary`} tooltip={i18n.str`Title of the order to be shown to the customer`} /> */}
{onBack && ( )}
); } function saveAsPDF(name: string): void { const printWindow = window.open("", "", "height=400,width=800"); if (!printWindow) return; const divContents = document.getElementById("printThis"); if (!divContents) return; printWindow.document.write( `Order template for ${name} "); printWindow.document.close(); printWindow.document.body.appendChild(divContents.cloneNode(true)); printWindow.addEventListener("load", () => { printWindow.print(); // printWindow.close(); }); }