/* This file is part of GNU Taler (C) 2022-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 */ import type { InternationalizationAPI } from "@gnu-taler/web-util/browser"; import { BaseForm, DoubleColumnForm, DoubleColumnFormSection, UIHandlerId } from "../context/ui-forms.js"; export const v1 = (i18n: InternationalizationAPI): DoubleColumnForm => ({ type: "double-column" as const, design: [ { title: i18n.str`Simple form`, fields: [ { type: "textArea", properties: { id: ".comment" as UIHandlerId, name: "comment", label: i18n.str`Comments`, }, }, ], }, resolutionSection(i18n), ], // behavior: function formBehavior( // v: Partial, // ): FormState { // return { // comment: { // help: ((v.comment?.length ?? 0) > 100 ? "keep it short" : "") as TranslatedString, // }, // threshold: { // disabled: v.state === TalerExchangeApi.AmlState.frozen, // }, // }; // }, }); export function resolutionSection( i18n: InternationalizationAPI, ): DoubleColumnFormSection { return { title: i18n.str`Resolution`, fields: [ { type: "choiceHorizontal", properties: { id: ".state" as UIHandlerId, name: "state", label: i18n.str`New state`, converterId: "TalerExchangeApi.AmlState", choices: [ { value: "frozen", label: i18n.str`Frozen`, }, { value: "pending", label: i18n.str`Pending`, }, { value: "normal", label: i18n.str`Normal`, }, ], }, }, { type: "amount", properties: { id: ".threshold" as UIHandlerId, currency: "USD", name: "threshold", label: i18n.str`New threshold`, }, }, ], }; }