taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 6c20bd1f4e066c0675a8df4751254489695fec4c
parent 12f283dc7ddb1d17409667681385367769467173
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Sun,  1 Feb 2026 22:15:37 -0300

fix #10940

Diffstat:
Mpackages/merchant-backoffice-ui/src/components/form/InputDuration.tsx | 4++--
Mpackages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx | 48++++++++++++++++++++++++++++++++++++++++++++++++
Mpackages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx | 9+++++++++
Mpackages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx | 14++++++++++++--
4 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx b/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx @@ -161,7 +161,7 @@ export function InputDuration<T>({ </div> {withForever && ( - <span data-tooltip={i18n.str`Change value to never`}> + <span data-tooltip={i18n.str`Change the value to never`}> <button type="button" class="button is-info mr-3" @@ -172,7 +172,7 @@ export function InputDuration<T>({ </span> )} {!readonly && !withoutClear && ( - <span data-tooltip={i18n.str`Change value to empty`}> + <span data-tooltip={i18n.str`Change the value to empty`}> <button type="button" class="button is-info mr-3" diff --git a/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx b/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx @@ -40,9 +40,15 @@ const TALER_SCREEN_ID = 16; export function DefaultInstanceFormFields({ readonlyId, showId, + setDefaultPayDelay, + setDefaultRefundDelay, + setDefaultWireDelay }: { readonlyId?: boolean; showId: boolean; + setDefaultPayDelay: () => void; + setDefaultRefundDelay: () => void; + setDefaultWireDelay: () => void; }): VNode { const { i18n } = useTranslationContext(); const { state } = useSessionContext(); @@ -120,6 +126,20 @@ export function DefaultInstanceFormFields({ label={i18n.str`Payment delay`} tooltip={i18n.str`Time customers have to pay an order before the offer expires by default.`} useProtocolDuration + withoutClear + side={<span data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> + <button + type="button" + class="button is-info mr-3" + onClick={() => { + console.log("dale") + setDefaultPayDelay() + }} + > + <i18n.Translate>Reset</i18n.Translate> + </button> + </span> + } /> <InputDuration<Entity> @@ -127,6 +147,20 @@ export function DefaultInstanceFormFields({ label={i18n.str`Refund delay`} tooltip={i18n.str`Time merchants have to refund an order.`} useProtocolDuration + withoutClear + side={<span data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> + <button + type="button" + class="button is-info mr-3" + onClick={() => { + console.log("dale") + setDefaultRefundDelay() + }} + > + <i18n.Translate>Reset</i18n.Translate> + </button> + </span> + } /> <InputDuration<Entity> @@ -134,6 +168,20 @@ export function DefaultInstanceFormFields({ label={i18n.str`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.`} useProtocolDuration + withoutClear + side={<span data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> + <button + type="button" + class="button is-info mr-3" + onClick={() => { + console.log("dale") + setDefaultWireDelay() + }} + > + <i18n.Translate>Reset</i18n.Translate> + </button> + </span> + } /> <InputSelector<Entity> diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx @@ -243,6 +243,15 @@ export function CreatePage({ onConfirm, onBack, forceId }: Props): VNode { <DefaultInstanceFormFields readonlyId={!!forceId} showId={!forceId} + setDefaultPayDelay={() => { + valueHandler( v => ({...v, default_pay_delay: config.default_pay_delay})) + }} + setDefaultRefundDelay={() => { + valueHandler( v => ({...v, default_refund_delay: config.default_refund_delay})) + }} + setDefaultWireDelay={() => { + valueHandler( v => ({...v, default_wire_transfer_delay: config.default_wire_transfer_delay})) + }} /> <InputPassword<Entity> expand diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx @@ -84,7 +84,7 @@ export function UpdatePage({ selected, onBack, }: Props): VNode { - const { state } = useSessionContext(); + const { state, config} = useSessionContext(); const [value, valueHandler] = useState<Partial<Entity>>(convert(selected)); @@ -204,7 +204,17 @@ export function UpdatePage({ object={value} valueHandler={valueHandler} > - <DefaultInstanceFormFields showId={false} /> + <DefaultInstanceFormFields showId={false} + setDefaultPayDelay={() => { + valueHandler( v => ({...v, default_pay_delay: config.default_pay_delay})) + }} + setDefaultRefundDelay={() => { + valueHandler( v => ({...v, default_refund_delay: config.default_refund_delay})) + }} + setDefaultWireDelay={() => { + valueHandler( v => ({...v, default_wire_transfer_delay: config.default_wire_transfer_delay})) + }} + /> <div class="buttons is-right mt-4"> <button