commit 432816ac880a271bfc493bbb95921618c5b14e27 parent 7c3c495360362f950043ed2a36cf505200a6d0cb Author: Sebastian <sebasjm@taler-systems.com> Date: Wed, 25 Feb 2026 14:00:12 -0300 fix #11009 Diffstat:
77 files changed, 216 insertions(+), 174 deletions(-)
diff --git a/packages/merchant-backend-ui/src/assets/icons/android-chrome-512x512.png b/packages/merchant-backend-ui/src/assets/icons/android-chrome-512x512.png Binary files differ. diff --git a/packages/merchant-backoffice-ui/dev.mjs b/packages/merchant-backoffice-ui/dev.mjs @@ -24,7 +24,7 @@ const build = initializeDev({ type: "development", source: { js: devEntryPoints, - assets: [{base:"src",files:[{orig:"src/index.dev.html", dest: "src/index.html"},"src/settings.json"]}], + assets: [{base:"src",files:[{orig:"src/index.dev.html", dest: "src/index.html"},"src/settings.json","src/manifest.json","src/android-chrome-512x512.png"]}], }, css: "sass", destination: "./dist/dev", diff --git a/packages/merchant-backoffice-ui/src/android-chrome-512x512.png b/packages/merchant-backoffice-ui/src/android-chrome-512x512.png Binary files differ. diff --git a/packages/merchant-backoffice-ui/src/components/form/Input.tsx b/packages/merchant-backoffice-ui/src/components/form/Input.tsx @@ -92,7 +92,11 @@ export function Input<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span + class="icon has-tooltip-right" + onTouchStart={() => {}} + data-tooltip={tooltip} + > <i class="mdi mdi-information" /> </span> )} @@ -112,7 +116,7 @@ export function Input<T>({ {...inputExtra} inputType={inputType} placeholder={placeholder} - autocomplete={dontRemember ? "off" : undefined } + autocomplete={dontRemember ? "off" : undefined} readonly={readonly} disabled={readonly} name={String(name)} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputArray.tsx b/packages/merchant-backoffice-ui/src/components/form/InputArray.tsx @@ -73,7 +73,7 @@ export function InputArray<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip} > <i class="mdi mdi-information" /> </span> )} @@ -120,7 +120,7 @@ export function InputArray<T>({ } setCurrentValue(""); }} - data-tooltip={i18n.str`Add element to the list`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add element to the list`} > <i18n.Translate>Add</i18n.Translate> </button> diff --git a/packages/merchant-backoffice-ui/src/components/form/InputBoolean.tsx b/packages/merchant-backoffice-ui/src/components/form/InputBoolean.tsx @@ -59,7 +59,7 @@ export function InputBoolean<T>({ <label class="label"> {label} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip} > <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputDate.tsx b/packages/merchant-backoffice-ui/src/components/form/InputDate.tsx @@ -87,7 +87,7 @@ export function InputDate<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip} > <i class="mdi mdi-information" /> </span> )} @@ -136,7 +136,7 @@ export function InputDate<T>({ </div> {!readonly && !withoutClear && ( - <span data-tooltip={i18n.str`Change value to empty`}> + <span onTouchStart={() => {}} data-tooltip={i18n.str`Change value to empty`}> <button type="button" class="button is-info mr-3" @@ -147,7 +147,7 @@ export function InputDate<T>({ </span> )} {withNever && ( - <span data-tooltip={i18n.str`Change value to never`}> + <span onTouchStart={() => {}} data-tooltip={i18n.str`Change value to never`}> <button type="button" class="button is-info" diff --git a/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx b/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx @@ -117,7 +117,7 @@ export function InputDuration<T>({ </span> )} {tooltip && ( - <span class="icon" data-tooltip={tooltip}> + <span class="icon" data-tooltip={tooltip} onTouchStart={() => {}}> <i class="mdi mdi-information" /> </span> )} @@ -161,7 +161,7 @@ export function InputDuration<T>({ </div> {withForever && ( - <span data-tooltip={i18n.str`Change the value to never`}> + <span onTouchStart={() => {}} 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 the value to empty`}> + <span onTouchStart={() => {}} 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/form/InputGroup.tsx b/packages/merchant-backoffice-ui/src/components/form/InputGroup.tsx @@ -50,14 +50,14 @@ export function InputGroup<T>({ <p class="card-header-title"> {label} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} {group?.hasError && ( <span class="has-text-danger" - data-tooltip={tooltip} + onTouchStart={() => {}} data-tooltip={tooltip} style={{ marginLeft: 5 }} > * diff --git a/packages/merchant-backoffice-ui/src/components/form/InputImage.tsx b/packages/merchant-backoffice-ui/src/components/form/InputImage.tsx @@ -54,7 +54,7 @@ export function InputImage<T>({ <label class="label"> {label} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputSelector.tsx b/packages/merchant-backoffice-ui/src/components/form/InputSelector.tsx @@ -56,7 +56,7 @@ export function InputSelector<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputStock.tsx b/packages/merchant-backoffice-ui/src/components/form/InputStock.tsx @@ -87,7 +87,7 @@ export function InputStock<T>({ <label class="label"> {label} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} @@ -97,7 +97,7 @@ export function InputStock<T>({ <div class="field has-addons"> {!alreadyExist ? ( <button type="button" class="button" - data-tooltip={i18n.str`Click here to configure the product's stock. If left as is, the backend will not control stock.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Click here to configure the product's stock. If left as is, the backend will not control stock.`} onClick={(): void => { valueHandler({ current: 0, @@ -112,7 +112,7 @@ export function InputStock<T>({ </button> ) : ( <button type="button" class="button" - data-tooltip={i18n.str`This product has been configured without stock control`} + onTouchStart={() => {}} data-tooltip={i18n.str`This product has been configured without stock control`} disabled > <span> @@ -145,7 +145,7 @@ export function InputStock<T>({ <p class="card-header-title"> {label} {tooltip && ( - <span class="icon" data-tooltip={tooltip}> + <span class="icon" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} @@ -185,7 +185,7 @@ export function InputStock<T>({ label={i18n.str`Current`} side={ <button type="button" class="button is-danger" - data-tooltip={i18n.str`Remove stock control for this product`} + onTouchStart={() => {}} data-tooltip={i18n.str`Remove stock control for this product`} onClick={(): void => { valueHandler(undefined as any); }} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputTab.tsx b/packages/merchant-backoffice-ui/src/components/form/InputTab.tsx @@ -56,7 +56,7 @@ export function InputTab<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputTaxes.tsx b/packages/merchant-backoffice-ui/src/components/form/InputTaxes.tsx @@ -127,7 +127,7 @@ export function InputTaxes<T>({ name, label }: Props<keyof T>): VNode { <button type="submit" class="button is-info" - data-tooltip={i18n.str`Add tax to the tax list`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add tax to the tax list`} disabled={hasErrors} onClick={submit} > diff --git a/packages/merchant-backoffice-ui/src/components/form/InputToggle.tsx b/packages/merchant-backoffice-ui/src/components/form/InputToggle.tsx @@ -66,7 +66,7 @@ export function InputToggle<T>({ </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/InputWithAddon.tsx b/packages/merchant-backoffice-ui/src/components/form/InputWithAddon.tsx @@ -65,12 +65,12 @@ export function InputWithAddon<T>({ <label class="label"> {label} {required && ( - <span class="has-text-danger" style={{marginLeft:5}}> + <span class="has-text-danger" style={{ marginLeft: 5 }}> * </span> )} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip} > <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/form/JumpToElementById.tsx b/packages/merchant-backoffice-ui/src/components/form/JumpToElementById.tsx @@ -85,7 +85,7 @@ export function JumpToElementById({ /> <NotificationFieldFoot notification={notification} /> </div> - <span class="has-tooltip-bottom" data-tooltip={description}> + <span class="has-tooltip-bottom" onTouchStart={() => {}} data-tooltip={description}> <ButtonBetterBulma class="button" type="submit" diff --git a/packages/merchant-backoffice-ui/src/components/form/TextField.tsx b/packages/merchant-backoffice-ui/src/components/form/TextField.tsx @@ -44,7 +44,7 @@ export function TextField<T>({ <label class="label"> {label} {tooltip && ( - <span class="icon has-tooltip-right" data-tooltip={tooltip}> + <span class="icon has-tooltip-right" onTouchStart={() => {}} data-tooltip={tooltip}> <i class="mdi mdi-information" /> </span> )} diff --git a/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx b/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx @@ -127,7 +127,7 @@ export function DefaultInstanceFormFields({ 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.`}> + side={<span onTouchStart={() => {}} data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> <button type="button" class="button is-info mr-3" @@ -148,7 +148,7 @@ export function DefaultInstanceFormFields({ 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.`}> + side={<span onTouchStart={() => {}} data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> <button type="button" class="button is-info mr-3" @@ -169,7 +169,7 @@ export function DefaultInstanceFormFields({ 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.`}> + side={<span onTouchStart={() => {}} data-tooltip={i18n.str`Change the value to the default value specified by the server.`}> <button type="button" class="button is-info mr-3" diff --git a/packages/merchant-backoffice-ui/src/components/menu/LangSelector.tsx b/packages/merchant-backoffice-ui/src/components/menu/LangSelector.tsx @@ -62,7 +62,7 @@ export function LangSelector(): VNode { <div class="dropdown is-active "> <div class="dropdown-trigger"> <button type="button" class="button has-tooltip-left" - data-tooltip="change language selection" + onTouchStart={() => {}} data-tooltip="change language selection" aria-haspopup="true" aria-controls="dropdown-menu" onClick={() => setUpdatingLang(!updatingLang)} diff --git a/packages/merchant-backoffice-ui/src/components/menu/NavigationBar.tsx b/packages/merchant-backoffice-ui/src/components/menu/NavigationBar.tsx @@ -27,9 +27,10 @@ interface Props { onMobileMenu: () => void; title: string; mobileOpen: boolean; + noBurger?: boolean; } -export function NavigationBar({ mobileOpen, onMobileMenu, title }: Props): VNode { +export function NavigationBar({ mobileOpen, noBurger, onMobileMenu, title }: Props): VNode { return ( <nav class="navbar is-fixed-top" @@ -37,21 +38,23 @@ export function NavigationBar({ mobileOpen, onMobileMenu, title }: Props): VNode aria-label="main navigation" > <div class="navbar-brand"> + {!noBurger ? <a - role="button" - class="navbar-burger" - aria-label="menu" - style={{marginLeft: 0, display: mobileOpen ? "none" : undefined}} - aria-expanded="false" - onClick={(e) => { - onMobileMenu(); - e.stopPropagation(); - }} + role="button" + class="navbar-burger" + aria-label="menu" + style={{marginLeft: 0, display: mobileOpen ? "none" : undefined}} + aria-expanded="false" + onClick={(e) => { + onMobileMenu(); + e.stopPropagation(); + }} > <span aria-hidden="true" /> <span aria-hidden="true" /> <span aria-hidden="true" /> </a> + :undefined} <span class="navbar-item" style={{ fontSize: 24, fontWeight: 900 }}> {title} </span> diff --git a/packages/merchant-backoffice-ui/src/components/menu/index.tsx b/packages/merchant-backoffice-ui/src/components/menu/index.tsx @@ -228,6 +228,7 @@ export function NotConnectedAppMenu({ <NavigationBar onMobileMenu={() => setMobileOpen(!mobileOpen)} mobileOpen={mobileOpen} + noBurger title={title} /> <div diff --git a/packages/merchant-backoffice-ui/src/components/product/NonInventoryProductForm.tsx b/packages/merchant-backoffice-ui/src/components/product/NonInventoryProductForm.tsx @@ -77,7 +77,7 @@ export function NonInventoryProductFrom({ <button type="button" class="button is-success" - data-tooltip={i18n.str`Describe and add a product that is not in the inventory list`} + onTouchStart={() => {}} data-tooltip={i18n.str`Describe and add a product that is not in the inventory list`} onClick={() => setShowCreateProduct(true)} > <i18n.Translate>Add custom product</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/components/product/ProductList.tsx b/packages/merchant-backoffice-ui/src/components/product/ProductList.tsx @@ -100,7 +100,7 @@ export function ProductList({ list, actions = [] }: Props): VNode { <div key={i} class="buttons is-right"> <button class="button is-small is-danger has-tooltip-left" - data-tooltip={a.tooltip} + onTouchStart={() => {}} data-tooltip={a.tooltip} type="button" onClick={() => a.handler(entry, index)} > diff --git a/packages/merchant-backoffice-ui/src/index.dev.html b/packages/merchant-backoffice-ui/src/index.dev.html @@ -23,18 +23,29 @@ <head> <meta charset="utf-8" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - <meta name="viewport" content="width=device-width,initial-scale=1" /> + <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="taler-support" content="uri,api" /> - <meta http-equiv="Content-Security-Policy" content="default-src 'none'; frame-src blob:; script-src 'self'; connect-src *; img-src 'self' data:; style-src 'self';font-src 'self';base-uri 'self';form-action 'self'"> - + <meta http-equiv="Content-Security-Policy" content="default-src 'none'; manifest-src 'self';frame-src blob:; script-src 'self'; connect-src *; img-src 'self' data:; style-src 'self';font-src 'self';base-uri 'self';form-action 'self'"> + <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png"> + <link rel="manifest" href="manifest.json"> + <meta name="theme-color" content="#db7093"> + <script> + /** + * Hide install prompt but save it in case the app wants to trigger it. + */ + window.addEventListener('beforeinstallprompt', (e) => { + window.pwdInstallPrompt = e; + e.preventDefault(); + }) + </script> <link rel="icon" href="data:;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////////////7//v38//78/P/+/fz//vz7///+/v/+/f3//vz7///+/v/+/fz//v38///////////////////////+/v3///7+/////////////////////////////////////////////////////////v3//v79///////+/v3///////r28v/ct5//06SG/9Gffv/Xqo7/7N/V/9e2nf/bsJb/6uDW/9Sskf/euKH/+/j2///////+/v3//////+3azv+/eE3/2rWd/9Kkhv/Vr5T/48i2/8J+VP/Qn3//3ryn/795Tf/WrpP/2LCW/8B6T//w4Nb///////Pn4P+/d0v/9u3n/+7d0v/EhV7//v///+HDr//fxLD/zph2/+TJt//8/Pv/woBX//Lm3f/y5dz/v3hN//bu6f/JjGn/4sW0///////Df1j/8OLZ//v6+P+/elH/+vj1//jy7f+/elL//////+zYzP/Eg13//////967p//MlHT/wn5X///////v4Nb/yY1s///////jw7H/06KG////////////z5t9/+fNvf//////x4pn//Pp4v/8+vn/w39X/8WEX///////5s/A/9CbfP//////27Oc/9y2n////////////9itlf/gu6f//////86Vdf/r2Mz//////8SCXP/Df1j//////+7d0v/KkG7//////+HBrf/VpYr////////////RnoH/5sq6///////Ii2n/8ubf//39/P/Cf1j/xohk/+bNvv//////wn5W//Tq4//58/D/wHxV//7+/f/59fH/v3xU//39/P/w4Nf/xIFb///////hw7H/yo9t/+/f1f/AeU3/+/n2/+nSxP/FhmD//////9qzm//Upon/4MSx/96+qf//////xINc/+3bz//48e3/v3hN//Pn3///////6M+//752S//gw6//06aK/8J+VP/kzLr/zZd1/8OCWv/q18r/17KZ/9Ooi//fv6r/v3dK/+vWyP///////v39///////27un/1aeK/9Opjv/m1cf/1KCC/9a0nP/n08T/0Jx8/82YdP/QnHz/16yR//jx7P///////v39///////+/f3///7+///////+//7//v7+///////+/v7//v/+/////////////////////////v7//v79///////////////////+/v/+/Pv//v39///+/v/+/Pv///7+//7+/f/+/Pv//v39//79/P/+/Pv///7+////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" /> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon" /> - <title>Backoffice development</title> + <title>Merchant Portal development</title> <!-- Entry point for the SPA. --> <script type="module" src="index.js"></script> <link rel="stylesheet" href="index.css" /> diff --git a/packages/merchant-backoffice-ui/src/manifest.json b/packages/merchant-backoffice-ui/src/manifest.json @@ -0,0 +1,14 @@ +{ + "short_name": "Merchant Portal", + "name": "Taler Merchant Portal App", + "icons": [ + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#db7093", + "background_color": "#222222", + "display": "fullscreen" +} +\ No newline at end of file diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx @@ -285,7 +285,7 @@ export function CreatePage({ onConfirm, onBack, forceId }: Props): VNode { <ButtonBetterBulma onClick={create} type="submit" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields and choose authorization method` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/admin/list/TableActive.tsx b/packages/merchant-backoffice-ui/src/paths/admin/list/TableActive.tsx @@ -99,7 +99,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new instance`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new instance`} > <button class="button is-info" diff --git a/packages/merchant-backoffice-ui/src/paths/admin/list/View.tsx b/packages/merchant-backoffice-ui/src/paths/admin/list/View.tsx @@ -152,7 +152,7 @@ export function View({ <li class={showIsActive}> <div class="has-tooltip-right" - data-tooltip={i18n.str`Only show active instances`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only show active instances`} > <a onClick={() => setShow("active")}> <i18n.Translate>Active</i18n.Translate> @@ -163,7 +163,7 @@ export function View({ <li class={showIsDeleted}> <div class="has-tooltip-right" - data-tooltip={i18n.str`Only show deleted instances`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only show deleted instances`} > <a onClick={() => setShow("deleted")}> <i18n.Translate>Deleted</i18n.Translate> @@ -174,7 +174,7 @@ export function View({ <li class={showAll}> <div class="has-tooltip-right" - data-tooltip={i18n.str`Show all instances`} + onTouchStart={() => {}} data-tooltip={i18n.str`Show all instances`} > <a onClick={() => setShow(null)}> <i18n.Translate>All</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/CreatePage.tsx @@ -290,7 +290,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { )} <ButtonBetterBulma type="submit" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/Table.tsx @@ -64,7 +64,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Create access token`} + onTouchStart={() => {}} data-tooltip={i18n.str`Create access token`} > <button class="button is-info" @@ -124,7 +124,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -191,7 +191,7 @@ function Table({ <div class="buttons is-right"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Remove this access token`} + onTouchStart={() => {}} data-tooltip={i18n.str`Remove this access token`} > <button class="button is-small is-danger" @@ -212,7 +212,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx @@ -329,7 +329,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { <ButtonBetterBulma class="button is-info" type="button" - data-tooltip={i18n.str`Verify details with server`} + onTouchStart={() => {}} data-tooltip={i18n.str`Verify details with server`} onClick={test} > <i18n.Translate>Test</i18n.Translate> @@ -344,7 +344,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx @@ -130,7 +130,7 @@ export function CardTable({ accounts, onCreate, onSelect }: Props): VNode { <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new account`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new account`} > <button class="button is-info" @@ -261,7 +261,7 @@ function Table({ accounts, onDelete, onSelect }: TableProps): VNode { <div class="buttons is-right"> <button class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected accounts from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected accounts from the database`} onClick={() => onDelete(acc)} > <i18n.Translate>Delete</i18n.Translate> @@ -300,7 +300,7 @@ function Table({ accounts, onDelete, onSelect }: TableProps): VNode { <div class="buttons is-right"> <button class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected accounts from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected accounts from the database`} onClick={() => onDelete(acc)} > <i18n.Translate>Delete</i18n.Translate> @@ -339,7 +339,7 @@ function Table({ accounts, onDelete, onSelect }: TableProps): VNode { <div class="buttons is-right"> <button class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected accounts from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected accounts from the database`} onClick={() => onDelete(acc)} > <i18n.Translate>Delete</i18n.Translate> @@ -378,7 +378,7 @@ function Table({ accounts, onDelete, onSelect }: TableProps): VNode { <div class="buttons is-right"> <button class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected accounts from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected accounts from the database`} onClick={() => onDelete(acc)} // onClick={() => onDelete(acc,)} > diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx @@ -420,7 +420,7 @@ export function UpdatePage({ account, onUpdated, onBack }: Props): VNode { <ButtonBetterBulma type="button" class="button is-info" - data-tooltip={i18n.str`Compare info from server with account form`} + onTouchStart={() => {}} data-tooltip={i18n.str`Compare info from server with account form`} onClick={test} > <i18n.Translate>Test</i18n.Translate> @@ -437,7 +437,7 @@ export function UpdatePage({ account, onUpdated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/create/CreatePage.tsx @@ -110,7 +110,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/list/Table.tsx @@ -90,7 +90,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new devices`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new devices`} > <button class="button is-info" @@ -152,7 +152,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -200,7 +200,7 @@ function Table({ <ButtonBetterBulma type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected category from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected category from the database`} onClick={onDelete.withArgs(String(i.category_id))} > <i18n.Translate>Delete</i18n.Translate> @@ -216,7 +216,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/update/UpdatePage.tsx @@ -154,7 +154,7 @@ export function UpdatePage({ category, onUpdated, onBack }: Props): VNode { )} <ButtonBetterBulma type="submit" - data-tooltip={i18n.str`Confirm operation`} + onTouchStart={() => {}} data-tooltip={i18n.str`Confirm operation`} onClick={update} > <i18n.Translate>Confirm</i18n.Translate> @@ -279,7 +279,7 @@ function Table({ </td> <td class="has-tooltip-right" - data-tooltip={i.description} + onTouchStart={() => {}} data-tooltip={i.description} style={{ cursor: "pointer" }} > {i.description.length > 30 @@ -296,7 +296,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more products after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more products after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/groups/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/groups/create/CreatePage.tsx @@ -117,7 +117,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/groups/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/groups/list/Table.tsx @@ -89,7 +89,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new group`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new group`} > <button class="button is-info" @@ -151,7 +151,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more groups before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more groups before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -190,7 +190,7 @@ function Table({ <ButtonBetterBulma type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected group from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected group from the database`} onClick={onDelete.withArgs(String(i.group_serial))} > <i18n.Translate>Delete</i18n.Translate> @@ -206,7 +206,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more groups after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more groups after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/groups/list/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/groups/list/UpdatePage.tsx @@ -157,7 +157,7 @@ export function UpdatePage({ group, onUpdated, onBack }: Props): VNode { )} <ButtonBetterBulma type="submit" - data-tooltip={i18n.str`Confirm operation`} + onTouchStart={() => {}} data-tooltip={i18n.str`Confirm operation`} onClick={update} > <i18n.Translate>Confirm</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/create/CreatePage.tsx @@ -791,7 +791,7 @@ export function CreatePage({ <i18n.Translate>Custom field name</i18n.Translate> <span class="icon has-tooltip-right" - data-tooltip={"new extra field"} + onTouchStart={() => {}} data-tooltip={"new extra field"} > <i class="mdi mdi-information" /> </span> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/details/DetailPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/details/DetailPage.tsx @@ -778,7 +778,7 @@ function PaidPage({ <div class="buttons"> <span class="has-tooltip-left" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ merchantCanRefund ? i18n.str`Refund order` : i18n.str`Not refundable` @@ -795,7 +795,7 @@ function PaidPage({ </span> <span class="has-tooltip-left" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ !order.wire_details.length ? i18n.str`No wire transfer reported` : i18n.str`Check wire transfers` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/details/Timeline.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/details/Timeline.tsx @@ -64,7 +64,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon " - data-tooltip={i18n.str`This is when the refund period has expired.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This is when the refund period has expired.`} > <i class="mdi mdi-flag" /> </div> @@ -73,7 +73,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon " - data-tooltip={i18n.str`This is when the time for making the payment has been expired.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This is when the time for making the payment has been expired.`} > <i class="mdi mdi-flag" /> </div> @@ -94,7 +94,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon " - data-tooltip={i18n.str`This is when the wire transfer is going to be executed by the payment service provider.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This is when the wire transfer is going to be executed by the payment service provider.`} > <i class="mdi mdi-flag" /> </div> @@ -103,7 +103,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-warning" - data-tooltip={i18n.str`This wire transfer has been notified by the payment service provider.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This wire transfer has been notified by the payment service provider.`} > <i class="mdi mdi-cash" /> </div> @@ -112,7 +112,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-success" - data-tooltip={i18n.str`This wire transfer has been notified manually or by the banking system.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This wire transfer has been notified manually or by the banking system.`} > <i class="mdi mdi-cash" /> </div> @@ -121,7 +121,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-danger" - data-tooltip={i18n.str`This wire transfer has been notified by the payment service provider.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This wire transfer has been notified by the payment service provider.`} > <i class="mdi mdi-cash" /> </div> @@ -130,7 +130,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-danger" - data-tooltip={i18n.str`This refund is waiting to be claimed by the customer.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This refund is waiting to be claimed by the customer.`} > <i class="mdi mdi-cash" /> </div> @@ -139,7 +139,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-success" - data-tooltip={i18n.str`This refund has been claimed by the customer.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This refund has been claimed by the customer.`} > <i class="mdi mdi-cash" /> </div> @@ -148,7 +148,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-info" - data-tooltip={i18n.str`The current moment in time.`} + onTouchStart={() => {}} data-tooltip={i18n.str`The current moment in time.`} > <i class="mdi mdi-clock" /> </div> @@ -157,7 +157,7 @@ export function Timeline({ events: e }: Props) { return ( <div class="timeline-marker is-icon is-danger" - data-tooltip={i18n.str`This refund can't be claimed because the wire transfer has already been made.`} + onTouchStart={() => {}} data-tooltip={i18n.str`This refund can't be claimed because the wire transfer has already been made.`} > <i class="mdi mdi-cash" /> </div> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/ListPage.tsx @@ -66,7 +66,7 @@ export function ListPage({ > <div class="has-tooltip-right" - data-tooltip={i18n.str`Only show unpaid orders`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only show unpaid orders`} > <a onClick={() => onChangeSection(OrderListSection.NEW)}> <i18n.Translate>New</i18n.Translate> @@ -81,7 +81,7 @@ export function ListPage({ > <div class="has-tooltip-right" - data-tooltip={i18n.str`Only show paid orders`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only show paid orders`} > <a onClick={() => onChangeSection(OrderListSection.PAID)}> <i18n.Translate>Paid</i18n.Translate> @@ -98,7 +98,7 @@ export function ListPage({ > <div class="has-tooltip-right" - data-tooltip={i18n.str`Only show orders with refunds`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only show orders with refunds`} > <a onClick={() => onChangeSection(OrderListSection.REFUNDED)}> <i18n.Translate>Refunded</i18n.Translate> @@ -113,7 +113,7 @@ export function ListPage({ > <div class="has-tooltip-left" - data-tooltip={i18n.str`Show only paid orders for which the wire transfer is still pending.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Show only paid orders for which the wire transfer is still pending.`} > <a onClick={() => onChangeSection(OrderListSection.PENDING)}> <i18n.Translate>Not wired</i18n.Translate> @@ -130,7 +130,7 @@ export function ListPage({ > <div class="has-tooltip-left" - data-tooltip={i18n.str`Only display orders that have already been transferred by the payment service provider`} + onTouchStart={() => {}} data-tooltip={i18n.str`Only display orders that have already been transferred by the payment service provider`} > <a onClick={() => onChangeSection(OrderListSection.INCOMING)}> <i18n.Translate>Completed</i18n.Translate> @@ -141,7 +141,7 @@ export function ListPage({ <li class={section === undefined ? "is-active" : undefined}> <div class="has-tooltip-left" - data-tooltip={i18n.str`Remove all filters`} + onTouchStart={() => {}} data-tooltip={i18n.str`Remove all filters`} > <a onClick={() => onChangeSection(OrderListSection.ALL)}> <i18n.Translate>All</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/Table.tsx @@ -106,7 +106,7 @@ export function CardTable({ class="card-header-icon" aria-label="more options" > - <span class="has-tooltip-left" data-tooltip={i18n.str`Create order`}> + <span class="has-tooltip-left" onTouchStart={() => {}} data-tooltip={i18n.str`Create order`}> <button class="button is-info" type="button" @@ -296,7 +296,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more orders after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more orders after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/index.tsx @@ -202,14 +202,14 @@ export default function OrderList({ class="button is-fullwidth" onClick={() => setNewDate(undefined)} > - <span class="icon" data-tooltip={i18n.str`Clear date filter`}> + <span class="icon" onTouchStart={() => {}} data-tooltip={i18n.str`Clear date filter`}> <i class="mdi mdi-close" /> </span> </a> </div> )} <div class="control"> - <span class="has-tooltip-top" data-tooltip={dateTooltip}> + <span class="has-tooltip-top" onTouchStart={() => {}} data-tooltip={dateTooltip}> <input class="input" type="text" @@ -232,7 +232,7 @@ export default function OrderList({ </span> </div> <div class="control"> - <span class="has-tooltip-left" data-tooltip={dateTooltip}> + <span class="has-tooltip-left" onTouchStart={() => {}} data-tooltip={dateTooltip}> <a class="button is-fullwidth" onClick={() => { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatePage.tsx @@ -168,7 +168,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { side={ <button type="button" - data-tooltip={i18n.str`Generate random secret key`} + onTouchStart={() => {}} data-tooltip={i18n.str`Generate random secret key`} class="button is-info mr-3" onClick={(e) => { setState((s) => ({ @@ -190,7 +190,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/list/Table.tsx @@ -89,7 +89,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new devices`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new devices`} > <button class="button is-info" @@ -151,7 +151,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -190,7 +190,7 @@ function Table({ <ButtonBetterBulma type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected devices from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected devices from the database`} onClick={onDelete.withArgs(i.otp_device_id)} > <i18n.Translate>Delete</i18n.Translate> @@ -206,7 +206,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/update/UpdatePage.tsx @@ -162,7 +162,7 @@ export function UpdatePage({ device, onUpdated, onBack }: Props): VNode { ) : ( <button type="button" - data-tooltip={i18n.str`Generate random secret key`} + onTouchStart={() => {}} data-tooltip={i18n.str`Generate random secret key`} class="button is-info mr-3" onClick={() => { setState((s) => ({ @@ -187,7 +187,7 @@ export function UpdatePage({ device, onUpdated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={i18n.str`Confirm operation`} + onTouchStart={() => {}} data-tooltip={i18n.str`Confirm operation`} onClick={update} type="submit" > diff --git a/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx @@ -127,7 +127,7 @@ export function DetailPage({ )} <ButtonBetterBulma type="submit" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/pots/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/pots/create/CreatePage.tsx @@ -113,7 +113,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/pots/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/pots/list/Table.tsx @@ -89,7 +89,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new pots`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new pots`} > <button class="button is-info" @@ -151,7 +151,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more pots before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more pots before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -190,7 +190,7 @@ function Table({ <ButtonBetterBulma type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected pots from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected pots from the database`} onClick={onDelete.withArgs(String(i.pot_serial))} > <i18n.Translate>Delete</i18n.Translate> @@ -206,7 +206,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more pots after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more pots after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/pots/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/pots/update/UpdatePage.tsx @@ -188,7 +188,7 @@ export function UpdatePage({ moneyPot, onUpdated, onBack }: Props): VNode { )} <ButtonBetterBulma type="button" - data-tooltip={i18n.str`Confirm operation`} + onTouchStart={() => {}} data-tooltip={i18n.str`Confirm operation`} onClick={update} > <i18n.Translate>Confirm</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/create/CreatePage.tsx @@ -128,7 +128,7 @@ export function CreatePage({ onCreate, onBack }: Props): VNode { )} <ButtonBetterBulma onClick={create} - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ !create.args ? i18n.str`Please complete the marked fields` : "confirm operation" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/list/Table.tsx @@ -91,7 +91,7 @@ export function CardTable({ {!onCreate ? undefined : ( <span class="has-tooltip-left" - data-tooltip={i18n.str`Add product to inventory`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add product to inventory`} > <button class="button is-info" @@ -253,7 +253,7 @@ function Table({ </td> <td class="has-tooltip-right" - data-tooltip={i.product_name} + onTouchStart={() => {}} data-tooltip={i.product_name} onClick={() => rowSelection !== i.id && rowSelectionHandler(i.id) } @@ -263,7 +263,7 @@ function Table({ </td> <td class="has-tooltip-right" - data-tooltip={i.description} + onTouchStart={() => {}} data-tooltip={i.description} onClick={() => rowSelection !== i.id && rowSelectionHandler(i.id) } @@ -343,7 +343,7 @@ function Table({ <div class="buttons is-right"> <span class="has-tooltip-bottom" - data-tooltip={i18n.str`Go to product update page`} + onTouchStart={() => {}} data-tooltip={i18n.str`Go to product update page`} > <button class="button is-small is-success " @@ -356,7 +356,7 @@ function Table({ {!onDelete ? undefined : ( <span class="has-tooltip-left" - data-tooltip={i18n.str`Remove this product from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Remove this product from the database`} > <button class="button is-small is-danger" @@ -395,7 +395,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more products after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more products after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> @@ -448,7 +448,7 @@ function FastProductWithInfiniteStockUpdateForm({ </button> <span class="has-tooltip-left" - data-tooltip={i18n.str`Update product with new price`} + onTouchStart={() => {}} data-tooltip={i18n.str`Update product with new price`} > <button type="button" @@ -528,7 +528,7 @@ function FastProductWithManagedStockUpdateForm({ </button> <span class="has-tooltip-left" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`There are values with errors.` : i18n.str`Update product with new stock and price` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/update/UpdatePage.tsx @@ -144,7 +144,7 @@ export function UpdatePage({ product, onBack, onConfirm }: Props): VNode { )} <ButtonBetterBulma onClick={update} - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ !update.args ? i18n.str`Please complete the marked fields` : "confirm operation" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/reports/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/reports/create/CreatePage.tsx @@ -199,7 +199,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/reports/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/reports/list/Table.tsx @@ -92,7 +92,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new reports`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new reports`} > <button class="button is-info" @@ -154,7 +154,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -196,7 +196,7 @@ function Table({ <ButtonBetterBulma class="button is-danger is-small has-tooltip-left" type="button" - data-tooltip={i18n.str`Delete selected scheduled report from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected scheduled report from the database`} onClick={onDelete.withArgs(String(i.report_serial))} > <i18n.Translate>Delete</i18n.Translate> @@ -212,7 +212,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more devices after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more devices after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/reports/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/reports/update/UpdatePage.tsx @@ -248,7 +248,7 @@ export function UpdatePage({ report, onUpdated, onBack }: Props): VNode { )} <ButtonBetterBulma type="submit" - data-tooltip={i18n.str`Confirm operation`} + onTouchStart={() => {}} data-tooltip={i18n.str`Confirm operation`} onClick={update} > <i18n.Translate>Confirm</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/OrdersChart.tsx b/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/OrdersChart.tsx @@ -117,7 +117,7 @@ export function OrdersChart({ <div class="tabs" style={{ overflow: "inherit" }}> <ul> <li class={!showTable ? "is-active" : ""}> - <div class="has-tooltip-right" data-tooltip={i18n.str`Show chart`}> + <div class="has-tooltip-right" onTouchStart={() => {}} data-tooltip={i18n.str`Show chart`}> <a onClick={() => { setShowTable(false); @@ -128,7 +128,7 @@ export function OrdersChart({ </div> </li> <li class={showTable ? "is-active" : ""}> - <div class="has-tooltip-right" data-tooltip={i18n.str`Show table`}> + <div class="has-tooltip-right" onTouchStart={() => {}} data-tooltip={i18n.str`Show table`}> <a onClick={() => { setShowTable(true); @@ -152,7 +152,7 @@ export function OrdersChart({ > <span class="icon" - data-tooltip={i18n.str`Clear date filter`} + onTouchStart={() => {}} data-tooltip={i18n.str`Clear date filter`} > <i class="mdi mdi-close" /> </span> @@ -160,7 +160,7 @@ export function OrdersChart({ </div> )} <div class="control"> - <span class="has-tooltip-top" data-tooltip={dateTooltip}> + <span class="has-tooltip-top" onTouchStart={() => {}} data-tooltip={dateTooltip}> <input class="input" type="text" @@ -183,7 +183,7 @@ export function OrdersChart({ </span> </div> <div class="control"> - <span class="has-tooltip-left" data-tooltip={dateTooltip}> + <span class="has-tooltip-left" onTouchStart={() => {}} data-tooltip={dateTooltip}> <a class="button is-fullwidth" onClick={() => { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/RevenueChart.tsx b/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/RevenueChart.tsx @@ -134,7 +134,7 @@ export function RevenueChart({ <div class="tabs" style={{ overflow: "inherit" }}> <ul> <li class={!showTable ? "is-active" : ""}> - <div class="has-tooltip-right" data-tooltip={i18n.str`Show chart`}> + <div class="has-tooltip-right" onTouchStart={() => {}} data-tooltip={i18n.str`Show chart`}> <a onClick={() => { setShowTable(false); @@ -145,7 +145,7 @@ export function RevenueChart({ </div> </li> <li class={showTable ? "is-active" : ""}> - <div class="has-tooltip-right" data-tooltip={i18n.str`Show table`}> + <div class="has-tooltip-right" onTouchStart={() => {}} data-tooltip={i18n.str`Show table`}> <a onClick={() => { setShowTable(true); diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/create/CreatePage.tsx @@ -332,7 +332,7 @@ export function CreatePage({ </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/list/Table.tsx @@ -65,7 +65,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new templates`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new templates`} > <button class="button is-info" @@ -132,7 +132,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more templates before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more templates before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -171,7 +171,7 @@ function Table({ <button type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected templates from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected templates from the database`} onClick={() => onDelete(i)} > <i18n.Translate>Delete</i18n.Translate> @@ -179,7 +179,7 @@ function Table({ <button type="button" class="button is-info is-small has-tooltip-left" - data-tooltip={i18n.str`Use template to create new order`} + onTouchStart={() => {}} data-tooltip={i18n.str`Use template to create new order`} onClick={() => onNewOrder(i)} > <i18n.Translate>Test</i18n.Translate> @@ -187,7 +187,7 @@ function Table({ <button type="button" class="button is-info is-small has-tooltip-left" - data-tooltip={i18n.str`Generate a QR code for the template.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Generate a QR code for the template.`} onClick={() => onQR(i)} > <i18n.Translate>Show QR</i18n.Translate> @@ -203,7 +203,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more templates after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more templates after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> 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 @@ -393,7 +393,7 @@ export function UpdatePage({ template, onUpdated, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ errors !== undefined ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` 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 @@ -171,7 +171,7 @@ export function UsePage({ </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ errors !== undefined ? i18n.str`Please complete the marked fields` : "confirm operation" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/create/CreatePage.tsx @@ -240,7 +240,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { )} <ButtonBetterBulma onClick={create} - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ !create.args ? i18n.str`Please complete the marked fields` : "confirm operation" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/Table.tsx @@ -59,7 +59,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add token family`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add token family`} > <button class="button is-info" @@ -192,7 +192,8 @@ function Table({ <div class="buttons is-right"> <span class="has-tooltip-bottom" - data-tooltip={i18n.str`Go to token family update page`} + onTouchStart={() => {}} data-tooltip={i18n.str`Go to token family update page`} + > <button class="button is-small is-success " @@ -204,7 +205,7 @@ function Table({ </span> <span class="has-tooltip-left" - data-tooltip={i18n.str`Remove this token family from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Remove this token family from the database`} > <button class="button is-small is-danger" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/update/UpdatePage.tsx @@ -212,7 +212,7 @@ export function UpdatePage({ onUpdated, onBack, tokenFamily }: Props) { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/Table.tsx @@ -70,7 +70,7 @@ export function CardTableIncoming({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more wire transfers preceding the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more wire transfers preceding the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -128,7 +128,7 @@ export function CardTableIncoming({ <a class="button is-info is-small has-tooltip-left" // type="button" - data-tooltip={i18n.str`Show details about the incoming wire transfer.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Show details about the incoming wire transfer.`} onClick={() => onSelectedToConfirm(i)} > <i18n.Translate>Details</i18n.Translate> @@ -145,7 +145,7 @@ export function CardTableIncoming({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more transfers after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more transfers after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> @@ -197,7 +197,7 @@ export function CardTableVerified({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more wire transfers preceding the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more wire transfers preceding the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -266,7 +266,7 @@ export function CardTableVerified({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more transfers after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more transfers after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx @@ -154,7 +154,7 @@ export function DeletePage({ instanceId, onBack, onDeleted }: Props): VNode { <ButtonBetterBulma class="button is-small is-danger" type="submit" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx @@ -242,7 +242,7 @@ export function UpdatePage({ type="button" class="button" onClick={onBack} - data-tooltip="cancel operation" + onTouchStart={() => {}} data-tooltip="cancel operation" > <i18n.Translate>Cancel</i18n.Translate> </button> @@ -250,7 +250,7 @@ export function UpdatePage({ <ButtonBetterBulma type="submit" onClick={update} - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/CreatePage.tsx @@ -280,7 +280,7 @@ export function CreatePage({ onCreate, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/Table.tsx @@ -95,7 +95,7 @@ export function CardTable({ <div class="card-header-icon" aria-label="more options"> <span class="has-tooltip-left" - data-tooltip={i18n.str`Add new webhooks`} + onTouchStart={() => {}} data-tooltip={i18n.str`Add new webhooks`} > <button class="button is-info" @@ -157,7 +157,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more webhooks before the first one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more webhooks before the first one`} onClick={onLoadMoreBefore} > <i18n.Translate>Load first page</i18n.Translate> @@ -196,7 +196,7 @@ function Table({ <ButtonBetterBulma type="button" class="button is-danger is-small has-tooltip-left" - data-tooltip={i18n.str`Delete selected webhook from the database`} + onTouchStart={() => {}} data-tooltip={i18n.str`Delete selected webhook from the database`} onClick={deleteWebhook.withArgs(i.webhook_id)} > <i18n.Translate>Delete</i18n.Translate> @@ -212,7 +212,7 @@ function Table({ <button type="button" class="button is-fullwidth" - data-tooltip={i18n.str`Load more webhooks after the last one`} + onTouchStart={() => {}} data-tooltip={i18n.str`Load more webhooks after the last one`} onClick={onLoadMoreAfter} > <i18n.Translate>Load next page</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/update/UpdatePage.tsx @@ -218,7 +218,7 @@ export function UpdatePage({ webhook, onConfirm, onBack }: Props): VNode { </button> )} <ButtonBetterBulma - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ hasErrors ? i18n.str`Please complete the marked fields` : i18n.str`Confirm operation` diff --git a/packages/merchant-backoffice-ui/src/paths/login/index.tsx b/packages/merchant-backoffice-ui/src/paths/login/index.tsx @@ -147,7 +147,7 @@ export function LoginPage({ showCreateAccount, focus }: Props): VNode { <i18n.Translate>Username</i18n.Translate> <span class="icon has-tooltip-right" - data-tooltip={i18n.str`Instance name.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Instance name.`} > <i class="mdi mdi-information" /> </span> @@ -177,7 +177,7 @@ export function LoginPage({ showCreateAccount, focus }: Props): VNode { <i18n.Translate>Password</i18n.Translate> <span class="icon has-tooltip-right" - data-tooltip={i18n.str`Instance password.`} + onTouchStart={() => {}} data-tooltip={i18n.str`Instance password.`} > <i class="mdi mdi-information" /> </span> diff --git a/packages/merchant-backoffice-ui/src/paths/settings/index.tsx b/packages/merchant-backoffice-ui/src/paths/settings/index.tsx @@ -91,7 +91,7 @@ export function Settings({ onClose }: { onClose?: () => void }): VNode { <i18n.Translate>Language</i18n.Translate> <span class="icon has-tooltip-right" - data-tooltip={ + onTouchStart={() => {}} data-tooltip={ "Force language setting instance of taking the browser" } > diff --git a/packages/merchant-backoffice-ui/src/scss/main.scss b/packages/merchant-backoffice-ui/src/scss/main.scss @@ -177,6 +177,13 @@ input:read-only { z-index: 5; } +[data-tooltip]:not(.is-disabled).show-tooltip:before, +[data-tooltip]:not(.is-loading).show-tooltip:before, +[data-tooltip]:not([disabled]).show-tooltip:before { + opacity: 1; + visibility: visible; +} + span[data-tooltip] { border-bottom: none; }