{allProducts.length} products with a total price of{" "}
{totalAsString}.
)
}
tooltip={i18n.str`Manage list of products in the order.`}
>
{settings.advanceOrderMode &&
{
setEditingProduct(undefined);
return addNewProduct(p);
}}
/>
}
{allProducts.length > 0 && (
{
if (e.product_id) {
removeProductFromTheInventoryList(e.product_id);
} else {
removeFromNewProduct(index);
setEditingProduct(e);
}
},
},
]}
/>
)}
errors={errors}
object={value}
valueHandler={valueHandler as any}
>
{hasProducts ? (
0 &&
(discountOrRise < 1
? `discount of %${Math.round(
(1 - discountOrRise) * 100,
)}`
: `rise of %${Math.round((discountOrRise - 1) * 100)}`)
}
tooltip={i18n.str`Amount to be paid by the customer`}
/>
) : (
)}
{settings.advanceOrderMode &&
{value.shipping?.delivery_date && (
)}
}
{(settings.advanceOrderMode || requiresSomeTalerOptions) &&
{(settings.advanceOrderMode || noDefault_payDeadline) && }
withForever
withoutClear
tooltip={i18n.str`Time for the customer to pay for the offer before it expires. Inventory products will be reserved until this deadline. Time start to run after the order is created.`}
side={
}
/>}
{settings.advanceOrderMode && }
withForever
withoutClear
tooltip={i18n.str`Time while the order can be refunded by the merchant. Time starts after the order is created.`}
side={
}
/>}
{(settings.advanceOrderMode || noDefault_wireDeadline) && }
withoutClear
withForever
tooltip={i18n.str`Time for the exchange to make the wire transfer. Time starts after the order is created.`}
side={
}
/>}
{settings.advanceOrderMode && }
tooltip={i18n.str`Time until which the wallet will automatically check for refunds without user interaction.`}
withForever
/>}
{settings.advanceOrderMode && }
{settings.advanceOrderMode && }
{settings.advanceOrderMode && 0
? i18n.str`Min age defined by the producs is ${minAgeByProducts}`
: i18n.str`No product with age restriction in this order`
}
/>}
}
{settings.advanceOrderMode &&
{Object.keys(value.extra ?? {}).map((key) => {
return {
if (value.extra && value.extra[key] !== undefined) {
console.log(value.extra)
delete value.extra[key]
}
valueHandler({
...value,
})
}}>remove
}
/>
})}