/*
This file is part of GNU Taler
(C) 2021-2023 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 { useTranslationContext } from "@gnu-taler/web-util/browser";
import { Fragment, h, VNode } from "preact";
import { useBackendContext } from "../../context/backend.js";
import { Entity } from "../../paths/admin/create/CreatePage.js";
import { Input } from "../form/Input.js";
import { InputCurrency } from "../form/InputCurrency.js";
import { InputDuration } from "../form/InputDuration.js";
import { InputGroup } from "../form/InputGroup.js";
import { InputImage } from "../form/InputImage.js";
import { InputLocation } from "../form/InputLocation.js";
import { InputPaytoForm } from "../form/InputPaytoForm.js";
import { InputWithAddon } from "../form/InputWithAddon.js";
import { InputSelector } from "../form/InputSelector.js";
export function DefaultInstanceFormFields({
readonlyId,
showId,
}: {
readonlyId?: boolean;
showId: boolean;
}): VNode {
const { i18n } = useTranslationContext();
const backend = useBackendContext();
return (
{showId && (
name="id"
addonBefore={`${backend.url}/instances/`}
readonly={readonlyId}
label={i18n.str`Identifier`}
tooltip={i18n.str`Name of the instance in URLs. The 'default' instance is special in that it is used to administer other instances.`}
/>
)}
name="name"
label={i18n.str`Business name`}
tooltip={i18n.str`Legal name of the business represented by this instance.`}
/>
name="user_type"
label={i18n.str`Type`}
tooltip={i18n.str`Different type of account can have different rules and requirements.`}
values={["business", "individual"]}
/>
name="email"
label={i18n.str`Email`}
tooltip={i18n.str`Contact email`}
/>
name="website"
label={i18n.str`Website URL`}
tooltip={i18n.str`URL.`}
/>
name="logo"
label={i18n.str`Logo`}
tooltip={i18n.str`Logo image.`}
/>
name="accounts"
label={i18n.str`Bank account`}
tooltip={i18n.str`URI specifying bank account for crediting revenue.`}
/>
name="default_max_deposit_fee"
label={i18n.str`Default max deposit fee`}
tooltip={i18n.str`Maximum deposit fees this merchant is willing to pay per order by default.`}
/>
name="default_max_wire_fee"
label={i18n.str`Default max wire fee`}
tooltip={i18n.str`Maximum wire fees this merchant is willing to pay per wire transfer by default.`}
/>
name="default_wire_fee_amortization"
label={i18n.str`Default wire fee amortization`}
tooltip={i18n.str`Number of orders excess wire transfer fees will be divided by to compute per order surcharge.`}
/>
name="default_pay_delay"
label={i18n.str`Default payment delay`}
withForever
tooltip={i18n.str`Time customers have to pay an order before the offer expires by default.`}
/>
name="default_wire_transfer_delay"
label={i18n.str`Default wire transfer delay`}
tooltip={i18n.str`Maximum time an exchange is allowed to delay wiring funds to the merchant, enabling it to aggregate smaller payments into larger wire transfers and reducing wire fees.`}
withForever
/>
);
}