aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/paths/instance/templates
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-05-16 13:19:17 +0200
committerFlorian Dold <florian@dold.me>2024-05-16 13:19:23 +0200
commitf0decd3521440d6119ad9333949ce67653d8b2c2 (patch)
tree7e14203552b811448136802fb00eeccadc04071e /packages/merchant-backoffice-ui/src/paths/instance/templates
parent98c188c1b14f73a6b81f41a0cacd6195bb53208e (diff)
downloadwallet-core-f0decd3521440d6119ad9333949ce67653d8b2c2.tar.xz
wallet-core: query templates, refactor API declarations
Diffstat (limited to 'packages/merchant-backoffice-ui/src/paths/instance/templates')
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx3
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx5
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx25
3 files changed, 17 insertions, 16 deletions
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx
index 7322ca169..05cced06d 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx
@@ -70,7 +70,8 @@ export function QrPage({ id: templateId, onBack }: Props): VNode {
const payTemplateUri = stringifyPayTemplateUri({
merchantBaseUrl,
templateId,
- templateParams: {},
+ // FIXME!
+ //templateParams: {},
});
return (
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx
index 197049486..f8e3ac9b5 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx
@@ -51,7 +51,7 @@ type Entity = {
description?: string;
otpId?: string | null;
summary?: string;
- amount?: AmountString;
+ amount?: string;
minimum_age?: number;
pay_duration?: Duration;
summary_editable?: boolean;
@@ -149,7 +149,8 @@ export function UpdatePage({ template, onUpdate, onBack }: Props): VNode {
template_contract: {
minimum_age: state.minimum_age!,
pay_duration: Duration.toTalerProtocolDuration(state.pay_duration!),
- amount: state.amount_editable ? undefined : state.amount,
+ // FIXME: Check if amount_editable is a plain currency, in that case the user must specify it.
+ amount: (state.amount_editable ? undefined : state.amount) as AmountString,
summary: state.summary_editable ? undefined : state.summary,
currency:
cList.length > 1 && state.currency_editable
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx
index 360c9d373..5b1404b55 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx
@@ -19,9 +19,9 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
-import { TalerMerchantApi } from "@gnu-taler/taler-util";
+import { AmountString, TalerMerchantApi } from "@gnu-taler/taler-util";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
-import { h, VNode } from "preact";
+import { VNode, h } from "preact";
import { useState } from "preact/hooks";
import { AsyncButton } from "../../../../components/exception/AsyncButton.js";
import {
@@ -44,20 +44,19 @@ export function UsePage({ id, template, onCreateOrder, onBack }: Props): VNode {
const { i18n } = useTranslationContext();
const [state, setState] = useState<Partial<Entity>>({
- currency: template.editable_defaults?.currency ?? template.template_contract.currency,
- amount: template.editable_defaults?.amount ?? template.template_contract.amount,
- summary: template.editable_defaults?.summary ?? template.template_contract.summary,
+ currency:
+ template.editable_defaults?.currency ??
+ template.template_contract.currency,
+ // FIXME: Add additional check here, editable default might be a plain string!
+ amount: (template.editable_defaults?.amount ??
+ template.template_contract.amount) as AmountString,
+ summary:
+ template.editable_defaults?.summary ?? template.template_contract.summary,
});
const errors: FormErrors<Entity> = {
- amount:
- !state.amount
- ? i18n.str`Amount is required`
- : undefined,
- summary:
- !state.summary
- ? i18n.str`Order summary is required`
- : undefined,
+ amount: !state.amount ? i18n.str`Amount is required` : undefined,
+ summary: !state.summary ? i18n.str`Order summary is required` : undefined,
};
const hasErrors = Object.keys(errors).some(