diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-06-17 17:40:45 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-06-17 17:40:45 +0200 |
commit | 24491ab272fe82ed706e92cace9d6eb43e18aee6 (patch) | |
tree | 2ddb31feda2773ce9f355ad47b79f40df2b5d940 | |
parent | b93d3e3ac9dfa9b3e7459b980eda68fd8d0f8a04 (diff) | |
download | merchant-backoffice-24491ab272fe82ed706e92cace9d6eb43e18aee6.tar.gz merchant-backoffice-24491ab272fe82ed706e92cace9d6eb43e18aee6.tar.bz2 merchant-backoffice-24491ab272fe82ed706e92cace9d6eb43e18aee6.zip |
going over many help texts of the SPA. Fixes #6894.
13 files changed, 78 insertions, 94 deletions
diff --git a/packages/frontend/src/components/form/InputTaxes.tsx b/packages/frontend/src/components/form/InputTaxes.tsx index 91bbf85..9c04397 100644 --- a/packages/frontend/src/components/form/InputTaxes.tsx +++ b/packages/frontend/src/components/form/InputTaxes.tsx @@ -59,7 +59,7 @@ export function InputTaxes<T>({ name, readonly, label }: Props<keyof T>): VNode //FIXME: translating plural singular return ( - <InputGroup name="tax" label={label} alternative={taxes.length > 0 && <p>this product has {taxes.length} taxes</p>}> + <InputGroup name="tax" label={label} alternative={taxes.length > 0 && <p>This product has {taxes.length} applicable taxes configured.</p>}> <FormProvider<Entity> name="tax" errors={errors} object={value} valueHandler={valueHandler} > <div class="field is-horizontal"> @@ -73,24 +73,23 @@ export function InputTaxes<T>({ name, readonly, label }: Props<keyof T>): VNode }} /> </div> )} - {!taxes.length && i18n`this product has no taxes`} + {!taxes.length && i18n`No taxes configured for this product.`} </div> </div> - <Input<Entity> name="tax" label={i18n`Amount`}> - <Translate>currency and value separated with colon</Translate> <b>USD:2.3</b> + <Input<Entity> name="tax" label={i18n`Amount`} tooltip={i18n`Taxes can be in currencies that differ from the main currency used by the merchant.`}> + <Translate>Enter currency and value separated with a colon, e.g. "USD:2.3".</Translate> </Input> - <Input<Entity> name="name" label={i18n`Description`} /> + <Input<Entity> name="name" label={i18n`Description`} tooltip={i18n`Legal name of the tax, e.g. VAT or import duties.`} /> <div class="buttons is-right mt-5"> - <button class="button is-info" + <button class="button is-info" data-tooltip={i18n`add tax to the tax list`} - disabled={hasErrors} + disabled={hasErrors} onClick={submit}><Translate>Add</Translate></button> </div> </FormProvider> </InputGroup> ) } - diff --git a/packages/frontend/src/components/notifications/CreatedSuccessfully.tsx b/packages/frontend/src/components/notifications/CreatedSuccessfully.tsx index 5f10e4b..e0b355c 100644 --- a/packages/frontend/src/components/notifications/CreatedSuccessfully.tsx +++ b/packages/frontend/src/components/notifications/CreatedSuccessfully.tsx @@ -32,8 +32,8 @@ export function CreatedSuccessfully({ children, onConfirm, onCreateAnother }: Pr <div class="card"> <header class="card-header has-background-success"> <p class="card-header-title has-text-white-ter"> - Created successfully - </p> + Success. + </p> </header> <div class="card-content"> {children} @@ -47,4 +47,3 @@ export function CreatedSuccessfully({ children, onConfirm, onCreateAnother }: Pr <div class="column" /> </div> } - diff --git a/packages/frontend/src/components/product/ProductForm.tsx b/packages/frontend/src/components/product/ProductForm.tsx index f6d52a7..09b5744 100644 --- a/packages/frontend/src/components/product/ProductForm.tsx +++ b/packages/frontend/src/components/product/ProductForm.tsx @@ -95,17 +95,13 @@ export function ProductForm({ onSubscribe, initial, alreadyExist, }: Props) { return <div> <FormProvider<Entity> name="product" errors={errors} object={value} valueHandler={valueHandler} > - {alreadyExist ? undefined : <InputWithAddon<Entity> name="product_id" addonBefore={`${backend.url}/product/`} label={i18n`ID`} tooltip={i18n`display name identification`} />} - - <InputImage<Entity> name="image" label={i18n`Image`} tooltip={i18n`photo of the product`} /> - <Input<Entity> name="description" inputType="multiline" label={i18n`Description`} tooltip={i18n`full-length description`} /> - <Input<Entity> name="unit" label={i18n`Unit`} tooltip={i18n`name of the product unit`} /> - <InputCurrency<Entity> name="price" label={i18n`Price`} tooltip={i18n`amount in the current currency`} /> - - <InputStock name="stock" label={i18n`Stock`} alreadyExist={alreadyExist} tooltip={i18n`stock of the product can be managed or infinite`} /> - - <InputTaxes<Entity> name="taxes" label={i18n`Taxes`} tooltip={i18n`taxes for this product`} /> - + {alreadyExist ? undefined : <InputWithAddon<Entity> name="product_id" addonBefore={`${backend.url}/product/`} label={i18n`ID`} tooltip={i18n`product identification to use in URLs (for internal use only)`} />} + <InputImage<Entity> name="image" label={i18n`Image`} tooltip={i18n`illustration of the product for customers`} /> + <Input<Entity> name="description" inputType="multiline" label={i18n`Description`} tooltip={i18n`product description for customers`} /> + <Input<Entity> name="unit" label={i18n`Unit`} tooltip={i18n`unit describing quantity of product sold (e.g. 2 kilograms, 5 liters, 3 items, 5 meters) for customers`} /> + <InputCurrency<Entity> name="price" label={i18n`Price`} tooltip={i18n`sale price for customers, including taxes, for above units of the product`} /> + <InputStock name="stock" label={i18n`Stock`} alreadyExist={alreadyExist} tooltip={i18n`product inventory for products with finite supply (for internal use only)`} /> + <InputTaxes<Entity> name="taxes" label={i18n`Taxes`} tooltip={i18n`taxes included in the product price, exposed to customers`} /> </FormProvider> </div> } diff --git a/packages/frontend/src/paths/instance/orders/create/CreatePage.tsx b/packages/frontend/src/paths/instance/orders/create/CreatePage.tsx index 8cf73a7..ecc2f0a 100644 --- a/packages/frontend/src/paths/instance/orders/create/CreatePage.tsx +++ b/packages/frontend/src/paths/instance/orders/create/CreatePage.tsx @@ -52,8 +52,8 @@ interface InstanceConfig { } function with_defaults(config: InstanceConfig): Partial<Entity> { - const defaultPayDeadline = !config.default_pay_delay || config.default_pay_delay.d_ms === "forever" ? - undefined : + const defaultPayDeadline = !config.default_pay_delay || config.default_pay_delay.d_ms === "forever" ? + undefined : add(new Date(), { seconds: config.default_pay_delay.d_ms / 1000 }) return { @@ -222,13 +222,14 @@ export function CreatePage({ onCreate, onBack, instanceConfig, instanceInventory <div class="column" /> <div class="column is-four-fifths"> - <InputGroup name="inventory_products" label={i18n`Inventory products`} alternative={ - inventoryList.length > 0 && <p> - {inventoryList.length} products, - in {inventoryList.reduce((prev, cur) => cur.quantity + prev, 0)} units, - with a total price of {totalPriceInventory} + <InputGroup name="inventory_products" label={i18n`Manage products from inventory in order`} alternative={ + inventoryList.length > 0 && + // FIXME: translating plural singular + <p> + {inventoryList.length} products + with a total price of {totalPriceInventory}. </p> - } tooltip={i18n`Add products from managed inventory to the order.`}> + } tooltip={i18n`Manage list of products from managed inventory included in the order.`}> <InventoryProductForm currentProducts={value.inventoryProducts || {}} onAddProduct={addProductToTheInventoryList} @@ -238,21 +239,21 @@ export function CreatePage({ onCreate, onBack, instanceConfig, instanceInventory {inventoryList.length > 0 && <ProductList list={inventoryList.map(asProduct)} actions={[{ - name: i18n`Remove`, - tooltip: i18n`remove this product from the list`, + name: i18n`Remove`, + tooltip: i18n`Remove this product from the order.`, handler: (e) => removeProductFromTheInventoryList(e.product_id!) }]} /> } </InputGroup> - <InputGroup name="products" label={i18n`Products`} alternative={ + <InputGroup name="products" label={i18n`Manage products outside of inventory in order`} alternative={ productList.length > 0 && <p> - {productList.length} products, - in {productList.reduce((prev, cur) => cur.quantity + prev, 0)} units, - with a total price of {totalPriceProducts} + // FIXME: translating plural singular + {productList.length} products + with a total price of {totalPriceProducts}. </p> - } tooltip={i18n`Add products without inventory management to the order.`}> + } tooltip={i18n`Manage list of products without inventory management included in the order.`}> <NonInventoryProductFrom productToEdit={editingProduct} onAddProduct={(p) => { setEditingProduct(undefined) return addNewProduct(p) @@ -261,8 +262,8 @@ export function CreatePage({ onCreate, onBack, instanceConfig, instanceInventory {productList.length > 0 && <ProductList list={productList} actions={[{ - name: i18n`Remove`, - tooltip: i18n`remove this product from the list to be edited or discarded`, + name: i18n`Remove`, + tooltip: i18n`Remove this product from the order.`, handler: (e, index) => { removeFromNewProduct(index); setEditingProduct(e); @@ -278,37 +279,37 @@ export function CreatePage({ onCreate, onBack, instanceConfig, instanceInventory <Fragment> <InputCurrency name="pricing.products_price" label={i18n`Total price`} readonly tooltip={i18n`total product price added up`} /> <InputCurrency name="pricing.order_price" - label={i18n`Order price`} + label={i18n`Total price`} addonAfter={value.pricing?.order_price !== totalPrice && (discountOrRise < 1 ? `discount of %${Math.round((1 - discountOrRise) * 100)}` : `rise of %${Math.round((discountOrRise - 1) * 100)}`) } - tooltip={i18n`final order price`} + tooltip={i18n`Amount to be paid by the customer`} /> </Fragment> : <InputCurrency name="pricing.order_price" label={i18n`Order price`} tooltip={i18n`final order price`} /> } - <Input name="pricing.summary" inputType="multiline" label={i18n`Summary`} tooltip={i18n`description of what is being sold`} /> + <Input name="pricing.summary" inputType="multiline" label={i18n`Summary`} tooltip={i18n`Title of the order to be shown to the customer`} /> - <InputGroup name="payments" label={i18n`Payment options`} tooltip={i18n`override default payment configuration for this order`}> - <InputDate name="payments.auto_refund_deadline" label={i18n`Auto-refund deadline`} tooltip={i18n`time until the order will be refunded automatically`} /> - <InputDate name="payments.refund_deadline" label={i18n`Refund deadline`} tooltip={i18n`time until the order can be refunded`} /> - <InputDate name="payments.pay_deadline" label={i18n`Payment deadline`} tooltip={i18n`time until the order can be paid`} /> + <InputGroup name="payments" label={i18n`Taler payment options`} tooltip={i18n`Override default Taler payment settings for this order`}> + <InputDate name="payments.auto_refund_deadline" label={i18n`Auto-refund deadline`} tooltip={i18n`Time until which the wallet will automatically check for refunds without user interaction.`} /> + <InputDate name="payments.refund_deadline" label={i18n`Refund deadline`} tooltip={i18n`Time until which the order can be refunded by the merchant.`} /> + <InputDate name="payments.pay_deadline" label={i18n`Payment deadline`} tooltip={i18n`Deadline for the customer to pay for the offer before it expires. Inventory products will be reserved until this deadline.`} /> - <InputDate name="payments.delivery_date" label={i18n`Delivery date`} tooltip={i18n`when the order will be delivered, if delivery required`} /> - {value.payments?.delivery_date && <InputGroup name="payments.delivery_location" label={i18n`Location`} tooltip={i18n`where the order will be delivered`} > + <InputDate name="payments.delivery_date" label={i18n`Delivery date`} tooltip={i18n`Deadline for physical delivery assured by the merchant.`} /> + {value.payments?.delivery_date && <InputGroup name="payments.delivery_location" label={i18n`Location`} tooltip={i18n`address where the products will be delivered`} > <InputLocation name="payments.delivery_location" /> </InputGroup>} - <InputCurrency name="payments.max_fee" label={i18n`Max fee`} /> - <InputCurrency name="payments.max_wire_fee" label={i18n`Max wire fee`} /> - <Input name="payments.wire_fee_amortization" label={i18n`Wire fee amortization`} /> - <Input name="payments.fullfilment_url" label={i18n`Fulfillment URL`} tooltip={i18n`where the user will be redirected after payment`} /> + <InputCurrency name="payments.max_fee" label={i18n`Maximum deposit fee`} tooltip={i18n`Maximum deposit fees the merchant is willing to cover for this order. Higher deposit fees must be covered in full by the consumer.`} /> + <InputCurrency name="payments.max_wire_fee" label={i18n`Maximum wire fee`} tooltip={i18n`Maximum aggregate wire fees the merchant is willing to cover for this order. Wire fees exceeding this amount are to be covered by the customers.`}/> + <Input name="payments.wire_fee_amortization" label={i18n`Wire fee amortization`} tooltip={i18n`Factor by which wire fees exceeding the above threshold are divided to determine the share of excess wire fees to be paid explicitly by the consumer.`}/> + <Input name="payments.fullfilment_url" label={i18n`Fulfillment URL`} tooltip={i18n`URL to which the user will be redirected after successful payment.`} /> </InputGroup> - <InputGroup name="extra" label={i18n`Extra information`} tooltip={i18n`more information for this order`}> - <Input name="extra" inputType="multiline" label={`JSON value`} /> + <InputGroup name="extra" label={i18n`Additional information`} tooltip={i18n`Custom information to be included in the contract for this order.`}> + <Input name="extra" inputType="multiline" label={`Value`} tooltip={i18n`You must enter a value in JavaScript Object Notation (JSON).`} /> </InputGroup> </FormProvider> diff --git a/packages/frontend/src/paths/instance/orders/create/InventoryProductForm.tsx b/packages/frontend/src/paths/instance/orders/create/InventoryProductForm.tsx index 0fc5338..dde4505 100644 --- a/packages/frontend/src/paths/instance/orders/create/InventoryProductForm.tsx +++ b/packages/frontend/src/paths/instance/orders/create/InventoryProductForm.tsx @@ -58,13 +58,15 @@ export function InventoryProductForm({ currentProducts, onAddProduct, inventory const p = currentProducts[state.product.id] if (p) { if (state.quantity + p.quantity > currentStock) { - setErrors({ quantity: i18n`This quantity exceeds remaining stock. The current maximum value is ${currentStock - p.quantity}.` }); + const left = currentStock - p.quantity; + setErrors({ quantity: i18n`This quantity exceeds remaining stock. Currently, only ${left} units remain unreserved in stock.` }); return; } onAddProduct(state.product, state.quantity + p.quantity) } else { if (state.quantity > currentStock) { - setErrors({ quantity: i18n`This quantity exceeds remaining stock. The current maximum value is ${currentStock}.` }); + const left = currentStock; + setErrors({ quantity: i18n`This quantity exceeds remaining stock. Currently, only ${left} units remain unreserved in stock.` }); return; } onAddProduct(state.product, state.quantity) diff --git a/packages/frontend/src/paths/instance/orders/create/NonInventoryProductForm.tsx b/packages/frontend/src/paths/instance/orders/create/NonInventoryProductForm.tsx index 47764ec..34e5213 100644 --- a/packages/frontend/src/paths/instance/orders/create/NonInventoryProductForm.tsx +++ b/packages/frontend/src/paths/instance/orders/create/NonInventoryProductForm.tsx @@ -67,7 +67,7 @@ export function NonInventoryProductFrom({ productToEdit, onAddProduct }: Props): return <Fragment> <div class="buttons"> - <button class="button is-success" onClick={() => setShowCreateProduct(true)} ><Translate>add new product</Translate></button> + <button class="button is-success" onClick={() => setShowCreateProduct(true)} ><Translate>add product</Translate></button> </div> {showCreateProduct && <div class="modal is-active"> <div class="modal-background " onClick={() => setShowCreateProduct(false)} /> diff --git a/packages/frontend/src/paths/instance/orders/list/Table.tsx b/packages/frontend/src/paths/instance/orders/list/Table.tsx index 02a5428..ed8ee3a 100644 --- a/packages/frontend/src/paths/instance/orders/list/Table.tsx +++ b/packages/frontend/src/paths/instance/orders/list/Table.tsx @@ -60,7 +60,7 @@ export function CardTable({ orders, onCreate, onRefund, onCopyURL, onSelect, onL <div class="card-header-icon" aria-label="more options" /> <div class="card-header-icon" aria-label="more options"> - <span class="has-tooltip-left" data-tooltip={i18n`add new order`}> + <span class="has-tooltip-left" data-tooltip={i18n`create order`}> <button class="button is-info" type="button" onClick={onCreate}> <span class="icon is-small" ><i class="mdi mdi-plus mdi-36px" /></span> </button> diff --git a/packages/frontend/src/paths/instance/orders/list/index.tsx b/packages/frontend/src/paths/instance/orders/list/index.tsx index 34d156a..85ba58b 100644 --- a/packages/frontend/src/paths/instance/orders/list/index.tsx +++ b/packages/frontend/src/paths/instance/orders/list/index.tsx @@ -81,7 +81,7 @@ export default function ({ onUnauthorized, onLoadError, onCreate, onSelect, onNo } const i18n = useTranslator() - const dateTooltip = i18n`jump to order closer to a given date` + const dateTooltip = i18n`select date to show nearby orders` return <section class="section is-main-section"> <NotificationCard notification={notif} /> @@ -94,7 +94,7 @@ export default function ({ onUnauthorized, onLoadError, onCreate, onSelect, onNo <input class={errorOrderId ? "input is-danger" : "input"} type="text" value={orderId} onChange={e => setOrderId(e.currentTarget.value)} placeholder={i18n`order id`} /> {errorOrderId && <p class="help is-danger">{errorOrderId}</p>} </div> - <span class="has-tooltip-bottom" data-tooltip={i18n`view order details`}> + <span class="has-tooltip-bottom" data-tooltip={i18n`jump to order with the given order ID`}> <button class="button" onClick={testIfOrderExistAndSelect}> <span class="icon"><i class="mdi mdi-arrow-right" /></span> </button> @@ -113,17 +113,17 @@ export default function ({ onUnauthorized, onLoadError, onCreate, onSelect, onNo </div> </li> <li class={isPaidActive}> - <div class="has-tooltip-right" data-tooltip={i18n`filter paid orders`}> + <div class="has-tooltip-right" data-tooltip={i18n`only show paid orders`}> <a onClick={() => setFilter({ paid: 'yes' })}><Translate>Paid</Translate></a> </div> </li> <li class={isRefundedActive}> - <div class="has-tooltip-right" data-tooltip={i18n`filter refunded orders`}> + <div class="has-tooltip-right" data-tooltip={i18n`only show orders with refunds`}> <a onClick={() => setFilter({ refunded: 'yes' })}><Translate>Refunded</Translate></a> </div> </li> <li class={isNotWiredActive}> - <div class="has-tooltip-left" data-tooltip={i18n`filter not yet wired orders`}> + <div class="has-tooltip-left" data-tooltip={i18n`only show orders where customers paid, but wire payments from payment provider are still pending`}> <a onClick={() => setFilter({ wired: 'no' })}><Translate>Not wired</Translate></a> </div> </li> @@ -135,7 +135,7 @@ export default function ({ onUnauthorized, onLoadError, onCreate, onSelect, onNo <div class="field has-addons"> {filter.date && <div class="control"> <a class="button" onClick={() => { setFilter(prev => ({ ...prev, date: undefined })) }}> - <span class="icon"><i class="mdi mdi-close" /></span> + <span class="icon" data-tooltip={i18n`clear date filter`}><i class="mdi mdi-close" /></span> </a> </div>} <div class="control"> diff --git a/packages/frontend/src/paths/instance/products/list/Table.tsx b/packages/frontend/src/paths/instance/products/list/Table.tsx index 1b4a7b3..391fb63 100644 --- a/packages/frontend/src/paths/instance/products/list/Table.tsx +++ b/packages/frontend/src/paths/instance/products/list/Table.tsx @@ -48,7 +48,7 @@ export function CardTable({ instances, onCreate, onSelect, onUpdate, onDelete }: <header class="card-header"> <p class="card-header-title"><span class="icon"><i class="mdi mdi-shopping" /></span><Translate>Products</Translate></p> <div class="card-header-icon" aria-label="more options"> - <span class="has-tooltip-left" data-tooltip={i18n`add new product`}> + <span class="has-tooltip-left" data-tooltip={i18n`add product to inventory`}> <button class="button is-info" type="button" onClick={onCreate}> <span class="icon is-small" ><i class="mdi mdi-plus mdi-36px" /></span> </button> diff --git a/packages/frontend/src/paths/instance/reserves/create/CreatePage.tsx b/packages/frontend/src/paths/instance/reserves/create/CreatePage.tsx index ff7b334..05f5e06 100644 --- a/packages/frontend/src/paths/instance/reserves/create/CreatePage.tsx +++ b/packages/frontend/src/paths/instance/reserves/create/CreatePage.tsx @@ -143,12 +143,12 @@ export function CreatePage({ onCreate, onBack }: Props): VNode { <ul> <li class={currentStep === Steps.EXCHANGE ? "is-active" : ""}> <a style={{ cursor: 'initial' }}> - <span>Set exchange</span> + <span>Step 1: Specify exchange</span> </a> </li> <li class={currentStep === Steps.WIRE_METHOD ? "is-active" : ""}> <a style={{ cursor: 'initial' }}> - <span>Set wire method</span> + <span>Step 2: Select wire method</span> </a> </li> </ul> diff --git a/packages/frontend/src/paths/instance/reserves/create/CreatedSuccessfully.tsx b/packages/frontend/src/paths/instance/reserves/create/CreatedSuccessfully.tsx index d173d7b..d9b5e3a 100644 --- a/packages/frontend/src/paths/instance/reserves/create/CreatedSuccessfully.tsx +++ b/packages/frontend/src/paths/instance/reserves/create/CreatedSuccessfully.tsx @@ -31,18 +31,6 @@ export function CreatedSuccessfully({ entity, onConfirm, onCreateAnother }: Prop return <Template onConfirm={onConfirm} onCreateAnother={onCreateAnother}> <div class="field is-horizontal"> <div class="field-label is-normal"> - <label class="label">Exchange</label> - </div> - <div class="field-body is-flex-grow-3"> - <div class="field"> - <p class="control"> - <input readonly class="input" value={entity.request.exchange_url} /> - </p> - </div> - </div> - </div> - <div class="field is-horizontal"> - <div class="field-label is-normal"> <label class="label">Amount</label> </div> <div class="field-body is-flex-grow-3"> @@ -55,7 +43,7 @@ export function CreatedSuccessfully({ entity, onConfirm, onCreateAnother }: Prop </div> <div class="field is-horizontal"> <div class="field-label is-normal"> - <label class="label">Account address</label> + <label class="label">Exchange bank account</label> </div> <div class="field-body is-flex-grow-3"> <div class="field"> @@ -67,7 +55,7 @@ export function CreatedSuccessfully({ entity, onConfirm, onCreateAnother }: Prop </div> <div class="field is-horizontal"> <div class="field-label is-normal"> - <label class="label">Subject</label> + <label class="label">Wire transfer subject</label> </div> <div class="field-body is-flex-grow-3"> <div class="field"> @@ -77,11 +65,12 @@ export function CreatedSuccessfully({ entity, onConfirm, onCreateAnother }: Prop </div> </div> </div> - <p class="is-size-5"><Translate>Now you should transfer to the exchange into the account address indicated above and the transaction must carry the subject message.</Translate></p> + <p class="is-size-5"><Translate>To complete the setup of the reserve, you must now initiate a wire transfer using the given wire transfer subject and crediting the specified amount to the indicated account of the exchange.</Translate></p> - <p class="is-size-5"><Translate>For example:</Translate></p> + <p class="is-size-5"><Translate>If your system supports RFC 8905, you can do this by opening this URI:</Translate></p> <pre> {entity.response.payto_uri}?message={entity.response.reserve_pub}&amount={entity.request.initial_balance} </pre> - </Template>; + </Template>; // FIXME: turn the payto_uri into a clickable link, and maybe also generate a QR code (maybe on the client-side --- we do this using qrious in the auditor.git already, easy, but not sure how to best include large JS dependency in the SPA for that ...) + } diff --git a/packages/frontend/src/paths/instance/transfers/create/CreatePage.tsx b/packages/frontend/src/paths/instance/transfers/create/CreatePage.tsx index cab3b9f..5c74326 100644 --- a/packages/frontend/src/paths/instance/transfers/create/CreatePage.tsx +++ b/packages/frontend/src/paths/instance/transfers/create/CreatePage.tsx @@ -78,17 +78,16 @@ export function CreatePage({ accounts, onCreate, onBack }: Props): VNode { <div class="column is-four-fifths"> <FormProvider object={state} valueHandler={setState} errors={errors}> - <Input<Entity> name="wtid" label={i18n`Transfer ID`} help="" tooltip={i18n`unique identifier of the wire transfer, usually 52 random characters long`} /> - <InputSelector name="payto_uri" label={i18n`Address`} + <InputSelector name="payto_uri" label={i18n`Credited bank account`} values={accounts} - placeholder={i18n`Select one account`} - tooltip={i18n`filter by account address`} + tooltip={i18n`Bank account of the merchant where the payment was received`} /> + <Input<Entity> name="wtid" label={i18n`Wire transfer ID`} help="" tooltip={i18n`unique identifier of the wire transfer used by the exchange, must be 52 characters long`} /> <Input<Entity> name="exchange_url" label={i18n`Exchange URL`} - tooltip={i18n`exchange that made the transfer`} + tooltip={i18n`Base URL of the exchange that made the transfer, should have been in the wire transfer subject`} help="http://exchange.taler:8081/" /> - <InputCurrency<Entity> name="credit_amount" label={i18n`Amount`} tooltip={i18n`how much money transferred into the account`} /> + <InputCurrency<Entity> name="credit_amount" label={i18n`Amount credited`} tooltip={i18n`Actual amount that was wired to the merchant's bank account`} /> </FormProvider> diff --git a/packages/frontend/src/paths/instance/transfers/list/index.tsx b/packages/frontend/src/paths/instance/transfers/list/index.tsx index 7ad5479..d8d2868 100644 --- a/packages/frontend/src/paths/instance/transfers/list/index.tsx +++ b/packages/frontend/src/paths/instance/transfers/list/index.tsx @@ -93,13 +93,13 @@ export default function ListTransfer({ onUnauthorized, onLoadError, onCreate, on </div> </li> <li class={isVerifiedTransfers}> - <div class="has-tooltip-right" data-tooltip={i18n`remove all filters`}> + <div class="has-tooltip-right" data-tooltip={i18n`only show wire transfers confirmed by the merchant`}> <a onClick={() => setFilter('yes')}><Translate>Verified</Translate></a> </div> </li> <li class={isNonVerifiedTransfers}> - <div class="has-tooltip-right" data-tooltip={i18n`remove all filters`}> - <a onClick={() => setFilter('no')}><Translate>Non Verified</Translate></a> + <div class="has-tooltip-right" data-tooltip={i18n`only show wire transfers claimed by the exchange`}> + <a onClick={() => setFilter('no')}><Translate>Unverified</Translate></a> </div> </li> </ul> @@ -136,4 +136,3 @@ function View({ transfers, onCreate, accounts, onLoadMoreBefore, onLoadMoreAfter /> } - |