summaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx23
1 files changed, 9 insertions, 14 deletions
diff --git a/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx b/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx
index 468e5f635..dede0008f 100644
--- a/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx
+++ b/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx
@@ -19,9 +19,8 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
-import {
- useTranslationContext
-} from "@gnu-taler/web-util/browser";
+import { AmountString, TalerMerchantApi } from "@gnu-taler/taler-util";
+import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { h } from "preact";
import { useCallback, useEffect, useState } from "preact/hooks";
import * as yup from "yup";
@@ -38,7 +37,6 @@ import { InputNumber } from "../form/InputNumber.js";
import { InputStock, Stock } from "../form/InputStock.js";
import { InputTaxes } from "../form/InputTaxes.js";
import { InputWithAddon } from "../form/InputWithAddon.js";
-import { AmountString, TalerMerchantApi } from "@gnu-taler/taler-util";
type Entity = TalerMerchantApi.ProductDetail & { product_id: string };
@@ -84,11 +82,11 @@ export function ProductForm({ onSubscribe, initial, alreadyExist }: Props) {
}
}
const hasErrors = Object.keys(errors).some(
- (k) => (errors as any)[k] !== undefined,
+ (k) => (errors as Record<string, unknown>)[k] !== undefined,
);
const submit = useCallback((): Entity | undefined => {
- const stock: Stock = (value as any).stock;
+ const stock = value.stock;
if (!stock) {
value.total_stock = -1;
@@ -101,7 +99,7 @@ export function ProductForm({ onSubscribe, initial, alreadyExist }: Props) {
: stock.nextRestock;
value.address = stock.address;
}
- delete (value as any).stock;
+ delete value.stock;
if (typeof value.minimum_age !== "undefined" && value.minimum_age < 1) {
delete value.minimum_age;
@@ -116,11 +114,8 @@ export function ProductForm({ onSubscribe, initial, alreadyExist }: Props) {
onSubscribe(hasErrors ? undefined : submit);
}, [submit, hasErrors]);
- const {
- state: { backendUrl },
- } = useSessionContext();
const { i18n } = useTranslationContext();
-
+ const { state } = useSessionContext();
return (
<div>
<FormProvider<Entity>
@@ -132,7 +127,7 @@ export function ProductForm({ onSubscribe, initial, alreadyExist }: Props) {
{alreadyExist ? undefined : (
<InputWithAddon<Entity>
name="product_id"
- addonBefore={new URL("product/", backendUrl).href}
+ addonBefore={new URL("product/", state.backendUrl.href).href}
label={i18n.str`ID`}
tooltip={i18n.str`product identification to use in URLs (for internal use only)`}
/>
@@ -152,13 +147,13 @@ export function ProductForm({ onSubscribe, initial, alreadyExist }: Props) {
name="minimum_age"
label={i18n.str`Age restriction`}
tooltip={i18n.str`is this product restricted for customer below certain age?`}
- help={i18n.str`minimum age of the buyer`}
+ help={i18n.str`minimum age of the customer`}
/>
<Input<Entity>
name="unit"
label={i18n.str`Unit name`}
tooltip={i18n.str`unit describing quantity of product sold (e.g. 2 kilograms, 5 liters, 3 items, 5 meters) for customers`}
- help={i18n.str`exajmple: kg, items or liters`}
+ help={i18n.str`example: kg, items or liters`}
/>
<InputCurrency<Entity>
name="price"