summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/instance/DefaultInstanceFormFields.tsx
blob: 873ee80c35bb2bf711af57d35bebc388441a43cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
 This file is part of GNU Taler
 (C) 2021 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 <http://www.gnu.org/licenses/>
 */

/**
*
* @author Sebastian Javier Marchano (sebasjm)
*/

import { Fragment, h } from "preact";
import { Input } from "../form/Input";
import { InputCurrency } from "../form/InputCurrency";
import { InputDuration } from "../form/InputDuration";
import { InputGroup } from "../form/InputGroup";
import { InputLocation } from "../form/InputLocation";
import { InputPayto } from "../form/InputPayto";
import { InputWithAddon } from "../form/InputWithAddon";
import { useBackendContext } from "../../context/backend";
import { useTranslator } from "../../i18n";
import { Entity } from "../../paths/admin/create/CreatePage";

export function DefaultInstanceFormFields({ readonlyId, showId }: { readonlyId?: boolean; showId: boolean }) {
  const i18n = useTranslator();
  const backend = useBackendContext();
  return <Fragment>
    {showId && <InputWithAddon<Entity> name="id"
      addonBefore={`${backend.url}/instances/`} readonly={readonlyId}
      label={i18n`Identifier`}
      tooltip={i18n`Name of the instance in URLs. The 'default' instance is special in that it is used to administer other instances.`} />
    }

    <Input<Entity> name="name"
      label={i18n`Business name`}
      tooltip={i18n`Legal name of the business represented by this instance.`} />

    <Input<Entity> name="creditor_name"
      label={i18n`Creditor Name`}
      tooltip={i18n`name of who receive the money`}
    />

    <InputPayto<Entity> name="payto_uris_base"
      label={i18n`Bank account URI`} help="x-taler-bank/bank.taler:5882/blogger"
      tooltip={i18n`URI specifying bank account for crediting revenue.`} />

    <InputCurrency<Entity> name="default_max_deposit_fee"
      label={i18n`Default max deposit fee`}
      tooltip={i18n`Maximum deposit fees this merchant is willing to pay per order by default.`} />

    <InputCurrency<Entity> name="default_max_wire_fee"
      label={i18n`Default max wire fee`}
      tooltip={i18n`Maximum wire fees this merchant is willing to pay per wire transfer by default.`} />

    <Input<Entity> name="default_wire_fee_amortization"
      label={i18n`Default wire fee amortization`}
      tooltip={i18n`Number of orders excess wire transfer fees will be divided by to compute per order surcharge.`} />

    <InputGroup name="address"
      label={i18n`Address`}
      tooltip={i18n`Physical location of the merchant.`}>
      <InputLocation name="address" />
    </InputGroup>

    <InputGroup name="jurisdiction"
      label={i18n`Jurisdiction`}
      tooltip={i18n`Jurisdiction for legal disputes with the merchant.`}>
      <InputLocation name="jurisdiction" />
    </InputGroup>

    <InputDuration<Entity> name="default_pay_delay"
      label={i18n`Default payment delay`}
      withForever
      tooltip={i18n`Time customers have to pay an order before the offer expires by default.`} />

    <InputDuration<Entity> name="default_wire_transfer_delay"
      label={i18n`Default wire transfer delay`}
      tooltip={i18n`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.`} />

  </Fragment>;
}