taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit bd5fb5a0986f4ba852a2e834510b9e83e0b395cb
parent 39baa1edfb22b96dbab6ebbecba48f8005cff156
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Sun, 24 May 2026 21:41:11 -0300

simplify submit

Diffstat:
Mpackages/aml-backoffice-ui/src/components/CreateSession.tsx | 2+-
Mpackages/aml-backoffice-ui/src/components/UnlockSession.tsx | 3+--
Mpackages/aml-backoffice-ui/src/pages/AccountDetails.tsx | 2+-
Mpackages/aml-backoffice-ui/src/pages/AccountList.tsx | 4++--
Mpackages/aml-backoffice-ui/src/pages/decision/Summary.tsx | 4++--
Mpackages/bank-ui/src/pages/BankFrame.tsx | 6++++--
Mpackages/bank-ui/src/pages/ConversionRateClassDetails.tsx | 8++++----
Mpackages/bank-ui/src/pages/LoginForm.tsx | 6+++---
Mpackages/bank-ui/src/pages/NewConversionRateClass.tsx | 2+-
Mpackages/bank-ui/src/pages/OperationState/views.tsx | 6+-----
Mpackages/bank-ui/src/pages/PaytoWireTransferForm.tsx | 2+-
Mpackages/bank-ui/src/pages/QrCodeSection.tsx | 3---
Mpackages/bank-ui/src/pages/RegistrationPage.tsx | 4++--
Mpackages/bank-ui/src/pages/SolveMFA.tsx | 7+++----
Mpackages/bank-ui/src/pages/WalletWithdrawForm.tsx | 2+-
Mpackages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx | 3+--
Mpackages/bank-ui/src/pages/account/ShowAccountDetails.tsx | 2+-
Mpackages/bank-ui/src/pages/account/UpdateAccountPassword.tsx | 2+-
Mpackages/bank-ui/src/pages/admin/AccountList.tsx | 1-
Mpackages/bank-ui/src/pages/admin/ConversionClassList.tsx | 1-
Mpackages/bank-ui/src/pages/admin/CreateNewAccount.tsx | 2+-
Mpackages/bank-ui/src/pages/admin/DownloadStats.tsx | 2+-
Mpackages/bank-ui/src/pages/admin/RemoveAccount.tsx | 2+-
Mpackages/bank-ui/src/pages/regional/ConversionConfig.tsx | 2+-
Mpackages/bank-ui/src/pages/regional/CreateCashout.tsx | 3+--
Mpackages/challenger-ui/src/pages/AnswerChallenge.tsx | 4++--
Mpackages/challenger-ui/src/pages/AskChallenge.tsx | 4++--
Mpackages/challenger-ui/src/pages/Setup.tsx | 2+-
Mpackages/kyc-ui/src/pages/FillForm.tsx | 2+-
Mpackages/kyc-ui/src/pages/Start.tsx | 2+-
Mpackages/kyc-ui/src/pages/TriggerKyc.tsx | 15---------------
Mpackages/merchant-backoffice-ui/src/components/SolveMFA.tsx | 7+++----
Mpackages/merchant-backoffice-ui/src/components/form/JumpToElementById.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/components/modal/index.tsx | 6+++---
Mpackages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/accessTokens/create-pos/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx | 4++--
Mpackages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx | 4++--
Mpackages/merchant-backoffice-ui/src/paths/instance/categories/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/categories/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/categories/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/groups/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/groups/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/groups/list/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/orders/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/orders/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/otp_devices/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/otp_devices/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/pots/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/pots/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/pots/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/products/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/products/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/reports/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/reports/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/reports/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/templates/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/transfers/list/DetailsPage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/transfers/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/webhooks/create/CreatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/instance/webhooks/list/Table.tsx | 1-
Mpackages/merchant-backoffice-ui/src/paths/instance/webhooks/update/UpdatePage.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/login/index.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/newAccount/index.tsx | 2+-
Mpackages/merchant-backoffice-ui/src/paths/resetAccount/index.tsx | 2+-
Mpackages/web-util/dev.mjs | 7++++---
Mpackages/web-util/src/components/Attention.tsx | 3++-
Mpackages/web-util/src/components/Button.tsx | 4+++-
Mpackages/web-util/src/stories.html | 6+-----
78 files changed, 93 insertions(+), 128 deletions(-)

diff --git a/packages/aml-backoffice-ui/src/components/CreateSession.tsx b/packages/aml-backoffice-ui/src/components/CreateSession.tsx @@ -113,7 +113,7 @@ export function CreateSession({ <FormUI design={design} model={handler} /> <div class="mt-8"> <ButtonBetter - type="submit" + submit class="disabled:opacity-50 disabled:cursor-default flex w-full justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={create} > diff --git a/packages/aml-backoffice-ui/src/components/UnlockSession.tsx b/packages/aml-backoffice-ui/src/components/UnlockSession.tsx @@ -106,7 +106,7 @@ export function UnlockSession({ officer }: { officer: OfficerLocked }): VNode { <div class="mt-8"> <ButtonBetter - type="submit" + submit onClick={unlock} class="disabled:opacity-50 disabled:cursor-default flex w-full justify-center rounded-md bg-indigo-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > @@ -115,7 +115,6 @@ export function UnlockSession({ officer }: { officer: OfficerLocked }): VNode { </div> </form> <ButtonBetter - type="button" onClick={forget} class="disabled:opacity-50 disabled:cursor-default m-4 block rounded-md bg-red-600 px-3 py-2 text-center text-sm text-white shadow-sm hover:bg-red-500 " > diff --git a/packages/aml-backoffice-ui/src/pages/AccountDetails.tsx b/packages/aml-backoffice-ui/src/pages/AccountDetails.tsx @@ -256,7 +256,7 @@ export function AccountDetails({ <div class="flex space-x-2 mb-4"> <i18n.Translate>Export as PDF</i18n.Translate> - <ButtonBetter type="button" onClick={downloadPdf}> + <ButtonBetter onClick={downloadPdf}> <img class="size-6 w-6" src={pdfIcon} /> </ButtonBetter> </div> diff --git a/packages/aml-backoffice-ui/src/pages/AccountList.tsx b/packages/aml-backoffice-ui/src/pages/AccountList.tsx @@ -228,10 +228,10 @@ export function AccountList({ </p> <div class="flex space-x-2 mt-4"> <i18n.Translate>Export as file</i18n.Translate> - <ButtonBetter type="button" onClick={downloadCsv}> + <ButtonBetter onClick={downloadCsv}> <img class="size-6 w-6" src={csvIcon} /> </ButtonBetter> - <ButtonBetter type="button" onClick={downloadXls}> + <ButtonBetter onClick={downloadXls}> <img class="size-6 w-6" src={xlsIcon} /> </ButtonBetter> </div> diff --git a/packages/aml-backoffice-ui/src/pages/decision/Summary.tsx b/packages/aml-backoffice-ui/src/pages/decision/Summary.tsx @@ -216,7 +216,7 @@ export function Summary({ <i18n.Translate>I want to check first!</i18n.Translate> </button> <ButtonBetter - type="submit" + submit onClick={submit} class="mt-4 disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > @@ -356,7 +356,7 @@ export function Summary({ <i18n.Translate>Clear</i18n.Translate> </button> <ButtonBetter - type="submit" + submit onClick={submit} class="mt-4 disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > diff --git a/packages/bank-ui/src/pages/BankFrame.tsx b/packages/bank-ui/src/pages/BankFrame.tsx @@ -29,7 +29,6 @@ import { RenderAmount, RouteDefinition, ToastBanner, - logBugForDevelopers, notifyError, notifyException, useBankCoreApiContext, @@ -78,7 +77,10 @@ export function BankFrame({ useEffect(() => { if (error) { - logBugForDevelopers(error); + console.error( + `Internal error, this is mostly a bug in the application. Please report: `, + error, + ); if (error instanceof Error) { notifyException( i18n.str`Internal error, please report. There should be more information in the console.`, diff --git a/packages/bank-ui/src/pages/ConversionRateClassDetails.tsx b/packages/bank-ui/src/pages/ConversionRateClassDetails.tsx @@ -713,7 +713,7 @@ function Form({ {section == "cashin" ? ( <Fragment> <ButtonBetter - type="submit" + submit name="update conversion" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={updateCashin} @@ -725,7 +725,7 @@ function Form({ {section == "cashout" ? ( <Fragment> <ButtonBetter - type="submit" + submit name="update conversion" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={updateCashout} @@ -737,7 +737,7 @@ function Form({ {section == "detail" ? ( <Fragment> <ButtonBetter - type="submit" + submit name="update conversion" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={updateDetails} @@ -749,7 +749,7 @@ function Form({ {section == "delete" ? ( <Fragment> <ButtonBetter - type="submit" + submit name="update conversion" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-red-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-red-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-600" onClick={deleteClass} diff --git a/packages/bank-ui/src/pages/LoginForm.tsx b/packages/bank-ui/src/pages/LoginForm.tsx @@ -253,7 +253,7 @@ export function LoginForm({ {session.state.status !== "loggedOut" ? ( <div class="flex justify-between"> <ButtonBetter - type="button" + name="cancel" class="rounded-md bg-white-600 px-3 py-1.5 text-sm font-semibold leading-6 text-black shadow-sm hover:bg-gray-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-600" onClick={logout} @@ -262,7 +262,7 @@ export function LoginForm({ </ButtonBetter> <ButtonBetter - type="submit" + submit name="check" class="rounded-md bg-indigo-600 disabled:bg-gray-300 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={login} @@ -273,7 +273,7 @@ export function LoginForm({ ) : ( <div> <ButtonBetter - type="submit" + submit name="login" class="flex w-full justify-center rounded-md bg-indigo-600 disabled:bg-gray-300 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={login} diff --git a/packages/bank-ui/src/pages/NewConversionRateClass.tsx b/packages/bank-ui/src/pages/NewConversionRateClass.tsx @@ -89,7 +89,7 @@ export function NewConversionRateClass({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="create" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={create} diff --git a/packages/bank-ui/src/pages/OperationState/views.tsx b/packages/bank-ui/src/pages/OperationState/views.tsx @@ -393,7 +393,6 @@ export function NeedConfirmationView({ </div> <div class="flex items-center justify-between gap-x-6 border-t border-gray-900/10 px-4 py-4 sm:px-8"> <ButtonBetter - type="button" name="cancel" class="text-sm font-semibold leading-6 text-gray-900" onClick={abort} @@ -401,7 +400,7 @@ export function NeedConfirmationView({ <i18n.Translate>Cancel</i18n.Translate> </ButtonBetter> <ButtonBetter - type="submit" + submit name="transfer" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={confirm} @@ -538,7 +537,6 @@ export function ConfirmedView({ routeClose }: State.Confirmed) { <div class="mt-5 sm:mt-6"> <a href={routeClose.url({})} - type="button" name="close" class="inline-flex w-full justify-center rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > @@ -622,7 +620,6 @@ export function ReadyView({ </div> <div class="flex items-center justify-between gap-x-6 pt-2 mt-2 "> <ButtonBetter - type="button" name="cancel" class="text-sm font-semibold leading-6 text-gray-900" // class="inline-flex items-center rounded-md bg-white px-3 py-2 text-sm font-semibold text-black shadow-sm " @@ -660,7 +657,6 @@ export function ReadyView({ </div> <div class="flex items-center justify-center gap-x-6 border-t border-gray-900/10 px-4 py-4 sm:px-8"> <ButtonBetter - type="button" class="text-sm font-semibold leading-6 text-gray-900" onClick={abort} > diff --git a/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx b/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx @@ -651,7 +651,7 @@ export function PaytoWireTransferForm({ <div /> )} <ButtonBetter - type="submit" + submit name="send" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={send} diff --git a/packages/bank-ui/src/pages/QrCodeSection.tsx b/packages/bank-ui/src/pages/QrCodeSection.tsx @@ -111,7 +111,6 @@ export function QrCodeSection({ </div> <div class="flex items-center justify-between gap-x-6 pt-2 mt-2 "> <ButtonBetter - type="button" name="cancel" class="text-sm font-semibold leading-6 text-gray-900" onClick={abort} @@ -147,8 +146,6 @@ export function QrCodeSection({ </div> <div class="flex items-center justify-center gap-x-6 border-t border-gray-900/10 px-4 py-4 sm:px-8"> <ButtonBetter - type="button" - // class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md px-3 py-2 text-sm font-semibold text-black shadow-sm hover:bg-red-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-600" class="text-sm font-semibold leading-6 text-gray-900" onClick={abort} > diff --git a/packages/bank-ui/src/pages/RegistrationPage.tsx b/packages/bank-ui/src/pages/RegistrationPage.tsx @@ -341,7 +341,7 @@ function RegistrationForm({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="register" class="rounded-md bg-indigo-600 disabled:bg-gray-300 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={register} @@ -354,7 +354,7 @@ function RegistrationForm({ {settings.allowRandomAccountCreation && ( <p class="mt-10 text-center text-sm text-gray-500 border-t"> <ButtonBetter - type="submit" + submit name="create random" class="flex mt-4 w-full disabled:bg-gray-300 justify-center rounded-md bg-green-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-green-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-600" onClick={registerRandom} diff --git a/packages/bank-ui/src/pages/SolveMFA.tsx b/packages/bank-ui/src/pages/SolveMFA.tsx @@ -206,7 +206,7 @@ function SolveChallenge({ </button> <ButtonBetter - type="submit" + submit name="send again" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={doVerification} @@ -431,7 +431,6 @@ export function SolveMFAChallenges({ <dd class="mt-1 text-sm leading-6 text-gray-700 sm:mt-0"> <div class="flex justify-between"> <ButtonBetter - type="button" name="cancel" class="text-sm font-semibold leading-6 text-gray-900" onClick={doSelect} @@ -440,7 +439,7 @@ export function SolveMFAChallenges({ </ButtonBetter> <ButtonBetter - type="submit" + submit name="send again" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={doSend} @@ -475,7 +474,7 @@ export function SolveMFAChallenges({ </button> <ButtonBetter - type="submit" + submit name="send again" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={complete} diff --git a/packages/bank-ui/src/pages/WalletWithdrawForm.tsx b/packages/bank-ui/src/pages/WalletWithdrawForm.tsx @@ -253,7 +253,7 @@ function OldWithdrawalForm({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="continue" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" // disabled={isRawPayto ? !!errorsPayto : !!errorsWire} diff --git a/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx b/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx @@ -451,7 +451,6 @@ export function WithdrawalConfirmationQuestion({ <div class="flex items-center justify-between gap-x-6 border-t border-gray-900/10 px-4 py-4 sm:px-8"> <ButtonBetter - type="button" name="cancel" class="text-sm font-semibold leading-6 text-gray-900" onClick={abort} @@ -459,7 +458,7 @@ export function WithdrawalConfirmationQuestion({ <i18n.Translate>Cancel</i18n.Translate> </ButtonBetter> <ButtonBetter - type="submit" + submit name="transfer" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={confirm} diff --git a/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx b/packages/bank-ui/src/pages/account/ShowAccountDetails.tsx @@ -242,7 +242,7 @@ export function ShowAccountDetails({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="update" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={update} diff --git a/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx b/packages/bank-ui/src/pages/account/UpdateAccountPassword.tsx @@ -302,7 +302,7 @@ export function UpdateAccountPassword({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="change" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={update} diff --git a/packages/bank-ui/src/pages/admin/AccountList.tsx b/packages/bank-ui/src/pages/admin/AccountList.tsx @@ -80,7 +80,6 @@ export function AccountList({ <a href={routeCreate.url({})} name="create account" - type="button" class="block rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > <i18n.Translate>Create account</i18n.Translate> diff --git a/packages/bank-ui/src/pages/admin/ConversionClassList.tsx b/packages/bank-ui/src/pages/admin/ConversionClassList.tsx @@ -118,7 +118,6 @@ export function ConversionClassList({ <a href={routeCreate.url({})} name="create account" - type="button" class="block rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > <i18n.Translate>Create conversion rate class</i18n.Translate> diff --git a/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx b/packages/bank-ui/src/pages/admin/CreateNewAccount.tsx @@ -152,7 +152,7 @@ export function CreateNewAccount({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="create" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={create} diff --git a/packages/bank-ui/src/pages/admin/DownloadStats.tsx b/packages/bank-ui/src/pages/admin/DownloadStats.tsx @@ -380,7 +380,7 @@ export function DownloadStats({ routeCancel }: Props): VNode { <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="download" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={download} diff --git a/packages/bank-ui/src/pages/admin/RemoveAccount.tsx b/packages/bank-ui/src/pages/admin/RemoveAccount.tsx @@ -253,7 +253,7 @@ export function RemoveAccount({ <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="delete" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-red-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-red-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-600" onClick={deleteAccount} diff --git a/packages/bank-ui/src/pages/regional/ConversionConfig.tsx b/packages/bank-ui/src/pages/regional/ConversionConfig.tsx @@ -588,7 +588,7 @@ function useComponentState({ </a> {section == "cashin" || section == "cashout" ? ( <ButtonBetter - type="submit" + submit name="update conversion" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={update} diff --git a/packages/bank-ui/src/pages/regional/CreateCashout.tsx b/packages/bank-ui/src/pages/regional/CreateCashout.tsx @@ -744,13 +744,12 @@ function CreateCashoutInternal({ <a href={routeClose.url({})} name="cancel" - type="button" class="text-sm font-semibold leading-6 text-gray-900" > <i18n.Translate>Cancel</i18n.Translate> </a> <ButtonBetter - type="submit" + submit name="cashout" class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={cashout} diff --git a/packages/challenger-ui/src/pages/AnswerChallenge.tsx b/packages/challenger-ui/src/pages/AnswerChallenge.tsx @@ -261,7 +261,7 @@ export function AnswerChallenge({ </div> <div> <ButtonBetter - type="submit" + submit class="block w-full disabled:bg-gray-300 rounded-md bg-indigo-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={sendAgain} > @@ -382,7 +382,7 @@ export function AnswerChallenge({ <div class="mt-10"> <ButtonBetter - type="submit" + submit class="block w-full disabled:bg-gray-300 rounded-md bg-indigo-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={check} > diff --git a/packages/challenger-ui/src/pages/AskChallenge.tsx b/packages/challenger-ui/src/pages/AskChallenge.tsx @@ -428,7 +428,7 @@ export function AskChallenge({ {!prevAddr ? ( <div class="mt-10"> <ButtonBetter - type="submit" + submit class="block w-full disabled:bg-gray-300 rounded-md bg-indigo-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={send} > @@ -448,7 +448,7 @@ export function AskChallenge({ ) : ( <div class="mt-10"> <ButtonBetter - type="submit" + submit class="block w-full disabled:bg-gray-300 rounded-md bg-indigo-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={send} > diff --git a/packages/challenger-ui/src/pages/Setup.tsx b/packages/challenger-ui/src/pages/Setup.tsx @@ -173,7 +173,7 @@ export function Setup({ </form> <div class="mt-10"> <ButtonBetter - type="submit" + submit class="block w-full disabled:bg-gray-300 rounded-md bg-indigo-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={doStart} > diff --git a/packages/kyc-ui/src/pages/FillForm.tsx b/packages/kyc-ui/src/pages/FillForm.tsx @@ -182,7 +182,7 @@ function ShowForm({ <i18n.Translate>Cancel</i18n.Translate> </button> <ButtonBetter - type="submit" + submit class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" onClick={submit} > diff --git a/packages/kyc-ui/src/pages/Start.tsx b/packages/kyc-ui/src/pages/Start.tsx @@ -257,7 +257,7 @@ function LinkGenerator({ req }: { req: KycRequirementInformation }): VNode { </p> ) : ( <p class="text-sm font-semibold leading-6 text-gray-900"> - <ButtonBetter onClick={start} type="button"> + <ButtonBetter onClick={start} > <span class="absolute inset-x-0 -top-px bottom-0"></span> <i18n.Translate context="KYC_REQUIREMENT_LINK_DESCRIPTION"> {req.description} diff --git a/packages/kyc-ui/src/pages/TriggerKyc.tsx b/packages/kyc-ui/src/pages/TriggerKyc.tsx @@ -171,7 +171,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { <i18n.Translate>Cancel</i18n.Translate> </button> <ButtonBetter - type="submit" onClick={send} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" > @@ -189,7 +188,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </p> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000000`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -199,7 +197,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000010`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -209,7 +206,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000020`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -219,7 +215,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000030`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -229,7 +224,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000040`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -239,7 +233,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000050`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -249,7 +242,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000060`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -259,7 +251,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000070`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -269,7 +260,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000080`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -279,7 +269,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000090`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -289,7 +278,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000100`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -299,7 +287,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000110`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -309,7 +296,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000120`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" @@ -319,7 +305,6 @@ export function TriggerKyc({ onKycStarted }: Props): VNode { </div> <div> <ButtonBetter - type="submit" onClick={send.withArgs(`${config.config.currency}:1000130`)} // disabled={!submitHandler} class="disabled:opacity-50 disabled:cursor-default rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" diff --git a/packages/merchant-backoffice-ui/src/components/SolveMFA.tsx b/packages/merchant-backoffice-ui/src/components/SolveMFA.tsx @@ -365,7 +365,6 @@ function SolveChallenge({ </p> <ButtonBetterBulma class="button" - type="button" onClick={resend} > <i18n.Translate>Resend</i18n.Translate> @@ -388,7 +387,7 @@ function SolveChallenge({ <i18n.Translate>Cancel</i18n.Translate> </button> <ButtonBetterBulma - type="submit" + submit disabled={!tries.numTries} onClick={verify} > @@ -625,12 +624,12 @@ export function SolveMFAChallenges({ <button class="button" type="button" onClick={onCancel}> <i18n.Translate>Cancel</i18n.Translate> </button> - <ButtonBetterBulma type="button" onClick={doSend}> + <ButtonBetterBulma onClick={doSend}> <i18n.Translate>Continue</i18n.Translate> </ButtonBetterBulma> {!enough ? undefined : ( <ButtonBetterBulma - type="button" + onClick={onCompleted.withArgs(solved)} > <i18n.Translate>Complete</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/components/form/JumpToElementById.tsx b/packages/merchant-backoffice-ui/src/components/form/JumpToElementById.tsx @@ -91,7 +91,7 @@ export function JumpToElementById({ <Tooltip text={description}> <ButtonBetterBulma class="button" - type="submit" + submit onClick={checkExist} > <i class="icon mdi mdi-arrow-right" /> diff --git a/packages/merchant-backoffice-ui/src/components/modal/index.tsx b/packages/merchant-backoffice-ui/src/components/modal/index.tsx @@ -100,7 +100,7 @@ export function ConfirmModal({ ) : undefined} <ButtonBetterBulma - type="submit" + submit class={danger ? "button is-danger " : "button is-info "} onClick={confirm} > @@ -158,7 +158,7 @@ export function ContinueModal({ <div class="buttons is-right" style={{ width: "100%" }}> <ButtonBetterBulma ref={doAutoFocus} - type="submit" + submit class="button is-success " onClick={confirm} > @@ -240,7 +240,7 @@ export function ClearConfirmModal({ </button> <ButtonBetterBulma class="button is-info" - type="submit" + submit onClick={confirm} ref={doAutoFocus} > diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx @@ -311,7 +311,7 @@ export function CreatePage({ onConfirm, onBack, forceId }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={create} type="submit"> + <ButtonBetterBulma onClick={create} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create-pos/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create-pos/CreatePage.tsx @@ -170,7 +170,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -308,7 +308,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -345,7 +345,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { <Tooltip text={i18n.str`Verify details with server`}> <ButtonBetterBulma class="button is-info" - type="button" + onClick={test} > <i18n.Translate>Test</i18n.Translate> @@ -367,7 +367,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={add} type="submit"> + <ButtonBetterBulma onClick={add} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -427,7 +427,7 @@ export function UpdatePage({ account, onUpdated, onBack }: Props): VNode { text={i18n.str`Compare info from server with account form`} > <ButtonBetterBulma - type="button" + class="button is-info" onClick={test} > @@ -452,7 +452,7 @@ export function UpdatePage({ account, onUpdated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={update} type="submit"> + <ButtonBetterBulma onClick={update} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -117,7 +117,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -183,7 +183,6 @@ function Table({ text={i18n.str`Delete selected category from the database`} > <ButtonBetterBulma - type="button" class="button is-danger is-small" onClick={onDelete.withArgs(String(i.category_id))} > 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 @@ -157,7 +157,7 @@ export function UpdatePage({ category, onUpdated, onBack }: Props): VNode { </button> )} <Tooltip text={i18n.str`Confirm operation`}> - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -124,7 +124,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -163,7 +163,6 @@ function Table({ instances, onDelete, paginator }: TableProps): VNode { text={i18n.str`Delete selected group from the database`} > <ButtonBetterBulma - type="button" class="button is-danger is-small" onClick={onDelete.withArgs(String(i.group_serial))} > 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 @@ -149,7 +149,7 @@ export function UpdatePage({ group, onUpdated, onBack }: Props): VNode { </button> )} <Tooltip text={i18n.str`Confirm operation`}> - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -856,7 +856,7 @@ export function CreatePage({ )} <ButtonBetterBulma class="button is-success" - type="submit" + submit onClick={create} > <i18n.Translate>Confirm</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 @@ -315,7 +315,6 @@ function Table({ {!i.paid && ( <ButtonBetterBulma class="button is-small is-info jb-modal" - type="button" onClick={ !session.token ? copyUrl 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 @@ -193,7 +193,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={create} type="submit"> + <ButtonBetterBulma onClick={create} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -174,7 +174,6 @@ function Table({ text={i18n.str`Delete selected devices from the database`} > <ButtonBetterBulma - type="button" class="button is-danger is-small" onClick={onDelete.withArgs(i.otp_device_id)} > 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 @@ -192,7 +192,7 @@ export function UpdatePage({ device, onUpdated, onBack }: Props): VNode { </button> )} <Tooltip text={i18n.str`Confirm operation`}> - <ButtonBetterBulma onClick={update} type="submit"> + <ButtonBetterBulma onClick={update} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx @@ -139,7 +139,7 @@ export function DetailPage({ } > <ButtonBetterBulma - type="submit" + submit onClick={ hasErrors ? changePassword 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 @@ -119,7 +119,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -174,7 +174,6 @@ function Table({ text={i18n.str`Delete selected pots from the database`} > <ButtonBetterBulma - type="button" class="button is-danger is-small" onClick={onDelete.withArgs(String(i.pot_serial))} > 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 @@ -195,7 +195,7 @@ export function UpdatePage({ moneyPot, onUpdated, onBack }: Props): VNode { </button> )} <Tooltip text={i18n.str`Confirm operation`}> - <ButtonBetterBulma type="button" onClick={update}> + <ButtonBetterBulma onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -138,7 +138,7 @@ export function CreatePage({ onCreate, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={create} type="submit"> + <ButtonBetterBulma onClick={create} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -149,7 +149,7 @@ export function UpdatePage({ product, onBack, onConfirm }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={update} type="submit"> + <ButtonBetterBulma onClick={update} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -205,7 +205,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -180,7 +180,6 @@ function Table({ > <ButtonBetterBulma class="button is-danger is-small" - type="button" onClick={onDelete.withArgs(String(i.report_serial))} > <i18n.Translate>Delete</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 { </button> )} <Tooltip text={i18n.str`Confirm operation`}> - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -356,7 +356,7 @@ export function CreatePage({ : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -405,7 +405,7 @@ function UpdateFixedOrderPage({ template, onUpdated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -213,7 +213,7 @@ function UseFixedOrderPage({ : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={useTemplate}> + <ButtonBetterBulma submit onClick={useTemplate}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -273,7 +273,7 @@ export function CreatePage({ onCreated, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={create} type="submit"> + <ButtonBetterBulma onClick={create} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -220,7 +220,7 @@ export function UpdatePage({ onUpdated, onBack, tokenFamily }: Props) { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/DetailsPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/DetailsPage.tsx @@ -231,7 +231,7 @@ function DetailsPageInternal({ <i18n.Translate>Cancel</i18n.Translate> </button> - <ButtonBetterBulma type="submit" onClick={confirm}> + <ButtonBetterBulma submit onClick={confirm}> <i18n.Translate>I have received the wire transfer</i18n.Translate> </ButtonBetterBulma> </div> 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 @@ -185,7 +185,6 @@ export function CardTableIncoming({ ? undefined : confirm.withArgs(session.token, i) } - type="button" > Confirm </ButtonBetterBulma> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx @@ -170,7 +170,7 @@ export function DeletePage({ instanceId, onBack, onDeleted }: Props): VNode { > <ButtonBetterBulma class="button is-small is-danger" - type="submit" + submit onClick={remove} > <i18n.Translate>DELETE</i18n.Translate> diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx @@ -306,7 +306,7 @@ export function UpdatePage({ : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={update}> + <ButtonBetterBulma submit onClick={update}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -302,7 +302,7 @@ export function CreatePage({ onCreate, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma type="submit" onClick={create}> + <ButtonBetterBulma submit onClick={create}> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> 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 @@ -180,7 +180,6 @@ function Table({ text={i18n.str`Delete selected webhook from the database`} > <ButtonBetterBulma - type="button" class="button is-danger is-small" onClick={deleteWebhook.withArgs(i.webhook_id)} > 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 @@ -225,7 +225,7 @@ export function UpdatePage({ webhook, onConfirm, onBack }: Props): VNode { : i18n.str`Confirm operation` } > - <ButtonBetterBulma onClick={update} type="submit"> + <ButtonBetterBulma onClick={update} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </Tooltip> diff --git a/packages/merchant-backoffice-ui/src/paths/login/index.tsx b/packages/merchant-backoffice-ui/src/paths/login/index.tsx @@ -248,7 +248,7 @@ export function LoginPage({ showCreateAccount, focus }: Props): VNode { <i18n.Translate>Forgot password</i18n.Translate> </a> )} - <ButtonBetterBulma onClick={login} type="submit"> + <ButtonBetterBulma onClick={login} submit> <i18n.Translate>Confirm</i18n.Translate> </ButtonBetterBulma> </footer> diff --git a/packages/merchant-backoffice-ui/src/paths/newAccount/index.tsx b/packages/merchant-backoffice-ui/src/paths/newAccount/index.tsx @@ -386,7 +386,7 @@ export function NewAccount({ onCancel, onCreated }: Props): VNode { > <i18n.Translate>Cancel</i18n.Translate> </button> - <ButtonBetterBulma onClick={create} type="submit"> + <ButtonBetterBulma onClick={create} submit> <i18n.Translate>Create</i18n.Translate> </ButtonBetterBulma> </footer> diff --git a/packages/merchant-backoffice-ui/src/paths/resetAccount/index.tsx b/packages/merchant-backoffice-ui/src/paths/resetAccount/index.tsx @@ -188,7 +188,7 @@ export function ResetAccount({ <button type="button" class="button" onClick={onCancel}> <i18n.Translate>Cancel</i18n.Translate> </button> - <ButtonBetterBulma type="submit" onClick={reset}> + <ButtonBetterBulma submit onClick={reset}> <i18n.Translate>Reset</i18n.Translate> </ButtonBetterBulma> </footer> diff --git a/packages/web-util/dev.mjs b/packages/web-util/dev.mjs @@ -15,16 +15,17 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import {initializeDevOnWebUtils} from "./lib/index.build.js"; -import {serve} from "./lib/index.node.cjs"; +import { initializeDevOnWebUtils } from "./lib/index.build.js"; +import { serve } from "./lib/index.node.cjs"; const devEntryPoints = ["src/stories.tsx"]; const build = initializeDevOnWebUtils({ type: "development", + importMeta: import.meta, source: { js: devEntryPoints, - assets: [{ base: "src", files: ["src/index.html"] }], + assets: [{ base: "src", files: ["src/index.html", "src/tailwind.js"] }], }, destination: "./dist/dev", public: "/app", diff --git a/packages/web-util/src/components/Attention.tsx b/packages/web-util/src/components/Attention.tsx @@ -6,7 +6,7 @@ import { import { ComponentChildren, Fragment, VNode, h } from "preact"; interface Props { - type?: "info" | "success" | "warning" | "danger" | "low"; + type?: "info" | "success" | "warning" | "danger" | "error" | "low"; onClose?: () => void; title: TranslatedString | VNode; children?: ComponentChildren; @@ -19,6 +19,7 @@ export function Attention({ onClose, timeout = Duration.getForever(), }: Props): VNode { + if (type == "error") type = "danger" return ( <div class={`group attention-${type} mt-2 shadow-lg`}> {/* {timeout.d_ms === "forever" ? undefined : <style>{` diff --git a/packages/web-util/src/components/Button.tsx b/packages/web-util/src/components/Button.tsx @@ -75,7 +75,7 @@ type PropsBetter = Omit< Omit<HTMLAttributes<HTMLButtonElement>, "type">, "onClick" > & { - type: "button" | "submit"; + submit?: boolean; onClick: SafeHandlerTemplate<any, any> | undefined; focus?: boolean; }; @@ -89,6 +89,7 @@ export function ButtonBetter({ focus, onClick, disabled, + submit, ...rest }: PropsBetter): VNode { const [running, setRunning] = useState(false); @@ -97,6 +98,7 @@ export function ButtonBetter({ {...rest} disabled={running || !onClick || !onClick.args || disabled} ref={focus ? doAutoFocus : undefined} + type={submit ? "submit" : "button"} onClick={(e) => { e.preventDefault(); if (!onClick || !onClick.args) { diff --git a/packages/web-util/src/stories.html b/packages/web-util/src/stories.html @@ -13,11 +13,7 @@ href="__EXAMPLES_CSS_FILE_LOCATION__" /> <script type="module" src="__EXAMPLES_JS_FILE_LOCATION__"></script> - <!-- FIXME: remove this --> - <!-- this is an easy setup of tailwind to test out the form fields --> - <!-- the css must be build locally and prevent the requirement of internet access for development --> - <script src="https://cdn.tailwindcss.com/3.4.16?plugins=forms@0.5.3,typography@0.5.9"></script> - <!-- <link rel="stylesheet" href="app/main.css" /> --> + <script src="/app/tailwind.js"></script> </head> <body> <taler-stories id="container"></taler-stories>