gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (77a531ea7 -> 1034ecb5f)


From: gnunet
Subject: [taler-wallet-core] branch master updated (77a531ea7 -> 1034ecb5f)
Date: Mon, 19 Feb 2024 15:16:57 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a change to branch master
in repository wallet-core.

    from 77a531ea7 wallet-core: reset back-off when transitioning to 
pending(exchange-wait-reserve)
     new f3dfd3da1 fix wrong error messages
     new c3e703989 better name to links and buttons
     new 1034ecb5f better name to links and buttons

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../demobank-ui/src/components/Cashouts/views.tsx   |  1 +
 .../src/components/Transactions/views.tsx           |  4 ++++
 .../demobank-ui/src/pages/AccountPage/views.tsx     |  3 ++-
 packages/demobank-ui/src/pages/BankFrame.tsx        |  5 +++--
 packages/demobank-ui/src/pages/DownloadStats.tsx    | 17 +++++++++++++----
 packages/demobank-ui/src/pages/LoginForm.tsx        |  8 ++++++--
 .../demobank-ui/src/pages/OperationState/views.tsx  |  6 ++++++
 packages/demobank-ui/src/pages/PaymentOptions.tsx   |  4 ++--
 .../demobank-ui/src/pages/PaytoWireTransferForm.tsx |  2 ++
 .../demobank-ui/src/pages/ProfileNavigation.tsx     |  4 ++++
 .../demobank-ui/src/pages/PublicHistoriesPage.tsx   |  1 +
 packages/demobank-ui/src/pages/QrCodeSection.tsx    |  3 +++
 packages/demobank-ui/src/pages/RegistrationPage.tsx |  3 +++
 .../demobank-ui/src/pages/SolveChallengePage.tsx    |  7 ++++++-
 .../demobank-ui/src/pages/WalletWithdrawForm.tsx    |  8 ++++++++
 .../src/pages/WithdrawalConfirmationQuestion.tsx    |  2 ++
 packages/demobank-ui/src/pages/WithdrawalQRCode.tsx |  3 +++
 .../src/pages/account/ShowAccountDetails.tsx        | 21 ++-------------------
 .../src/pages/account/UpdateAccountPassword.tsx     |  2 ++
 .../demobank-ui/src/pages/admin/AccountForm.tsx     |  2 ++
 .../demobank-ui/src/pages/admin/AccountList.tsx     |  5 +++++
 packages/demobank-ui/src/pages/admin/AdminHome.tsx  |  5 +++++
 .../src/pages/admin/CreateNewAccount.tsx            |  3 +++
 .../demobank-ui/src/pages/admin/RemoveAccount.tsx   |  3 +++
 .../src/pages/business/CreateCashout.tsx            |  3 +++
 .../src/pages/business/ShowCashoutDetails.tsx       |  1 +
 .../src/cta/Deposit/state.ts                        |  2 +-
 .../src/cta/InvoiceCreate/state.ts                  |  8 ++++----
 .../src/cta/InvoicePay/state.ts                     |  2 +-
 .../src/cta/Payment/state.ts                        |  2 +-
 .../src/cta/Refund/state.ts                         |  2 +-
 .../src/cta/TransferCreate/state.ts                 |  2 +-
 .../src/cta/TransferPickup/state.ts                 |  2 +-
 .../src/cta/Withdraw/views.tsx                      | 15 +++++++++++++++
 packages/web-util/src/components/Header.tsx         | 13 +++++++------
 35 files changed, 127 insertions(+), 47 deletions(-)

diff --git a/packages/demobank-ui/src/components/Cashouts/views.tsx 
b/packages/demobank-ui/src/components/Cashouts/views.tsx
index 80eea6379..db1fdbfc5 100644
--- a/packages/demobank-ui/src/components/Cashouts/views.tsx
+++ b/packages/demobank-ui/src/components/Cashouts/views.tsx
@@ -153,6 +153,7 @@ export function ReadyView({
                         class="border-b border-gray-200 hover:bg-gray-200 
last:border-none"
                       >
                         <a
+                          name="cashout details"
                           href={routeCashoutDetails.url({
                             cid: String(item.id),
                           })}
diff --git a/packages/demobank-ui/src/components/Transactions/views.tsx 
b/packages/demobank-ui/src/components/Transactions/views.tsx
index 53e437523..036cca4f7 100644
--- a/packages/demobank-ui/src/components/Transactions/views.tsx
+++ b/packages/demobank-ui/src/components/Transactions/views.tsx
@@ -136,6 +136,7 @@ export function ReadyView({
                               {item.negative ? i18n.str`to` : 
i18n.str`from`}{" "}
                               {!routeCreateWireTransfer ? item.counterpart :
                                 <a
+                                  name={`transfer to ${item.counterpart}`}
                                   href={routeCreateWireTransfer.url({
                                     destination: item.counterpart,
                                   })}
@@ -172,6 +173,7 @@ export function ReadyView({
                         <td class="hidden sm:table-cell px-3 py-3.5 text-sm 
text-gray-500">
                           {!routeCreateWireTransfer ? item.counterpart :
                             <a
+                              name={`wire transfer to ${item.counterpart}`}
                               href={routeCreateWireTransfer.url({
                                 destination: item.counterpart,
                               })}
@@ -199,6 +201,7 @@ export function ReadyView({
         >
           <div class="flex flex-1 justify-between sm:justify-end">
             <button
+              name="first page"
               class="relative disabled:bg-gray-100 disabled:text-gray-500 
inline-flex items-center rounded-md bg-white px-3 py-2 text-sm font-semibold 
text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 
focus-visible:outline-offset-0"
               disabled={!onPrev}
               onClick={onPrev}
@@ -206,6 +209,7 @@ export function ReadyView({
               <i18n.Translate>First page</i18n.Translate>
             </button>
             <button
+              name="next page"
               class="relative disabled:bg-gray-100 disabled:text-gray-500 ml-3 
inline-flex items-center rounded-md bg-white px-3 py-2 text-sm font-semibold 
text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 
focus-visible:outline-offset-0"
               disabled={!onNext}
               onClick={onNext}
diff --git a/packages/demobank-ui/src/pages/AccountPage/views.tsx 
b/packages/demobank-ui/src/pages/AccountPage/views.tsx
index 7694ca1d3..4f411940f 100644
--- a/packages/demobank-ui/src/pages/AccountPage/views.tsx
+++ b/packages/demobank-ui/src/pages/AccountPage/views.tsx
@@ -50,7 +50,7 @@ function ShowDemoInfo({ routePublicAccounts }: {
           This part of the demo shows how a bank that supports Taler directly
           would work. In addition to using your own bank account, you can also
           see the transaction history of some{" "}
-          <a href={routePublicAccounts.url({})}>Public Accounts</a>.
+          <a name="public account" href={routePublicAccounts.url({})}>Public 
Accounts</a>.
         </i18n.Translate>
       ) : (
         <i18n.Translate>
@@ -97,6 +97,7 @@ function ShowPedingOperation({ routeSolveSecondFactor }: {
       </i18n.Translate>{" "}
       <a
         class="font-semibold text-yellow-700 hover:text-yellow-600"
+        name="complete operation"
         href={routeSolveSecondFactor.url({})}
       >
         <i18n.Translate>this page</i18n.Translate>
diff --git a/packages/demobank-ui/src/pages/BankFrame.tsx 
b/packages/demobank-ui/src/pages/BankFrame.tsx
index f16e0e9bf..266eab636 100644
--- a/packages/demobank-ui/src/pages/BankFrame.tsx
+++ b/packages/demobank-ui/src/pages/BankFrame.tsx
@@ -117,6 +117,7 @@ export function BankFrame({
                       </span>
                       <button
                         type="button"
+                        name={`${set} switch`}
                         data-enabled={isOn}
                         class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                         role="switch"
@@ -190,7 +191,7 @@ function WelcomeAccount({ account, routeAccountDetails }: {
   }
   if (result.type === "fail") {
     return (
-      <a
+      <a name="account details"
         href={routeAccountDetails.url({})}
         class="underline underline-offset-2"
       >
@@ -199,7 +200,7 @@ function WelcomeAccount({ account, routeAccountDetails }: {
     );
   }
   return (
-    <a
+    <a name="account details"
       href={routeAccountDetails.url({})}
       class="underline underline-offset-2"
     >
diff --git a/packages/demobank-ui/src/pages/DownloadStats.tsx 
b/packages/demobank-ui/src/pages/DownloadStats.tsx
index e53f1f4e2..9bdc04123 100644
--- a/packages/demobank-ui/src/pages/DownloadStats.tsx
+++ b/packages/demobank-ui/src/pages/DownloadStats.tsx
@@ -112,6 +112,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`hour switch`}
                     data-enabled={options.hourMetric}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -145,6 +146,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`day switch`}
                     data-enabled={!!options.dayMetric}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -175,6 +177,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`month switch`}
                     data-enabled={!!options.monthMetric}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -208,6 +211,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`year switch`}
                     data-enabled={!!options.yearMetric}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -241,6 +245,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`header switch`}
                     data-enabled={!!options.includeHeader}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -276,6 +281,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`compare switch`}
                     data-enabled={!!options.compareWithPrevious}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -309,6 +315,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
                   </span>
                   <button
                     type="button"
+                    name={`fail switch`}
                     data-enabled={!!options.endOnFirstFail}
                     class="bg-indigo-600 data-[enabled=false]:bg-gray-200 
relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full 
border-2 border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
                     role="switch"
@@ -334,7 +341,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
           </div>
 
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
-            <a
+            <a name="cancel"
               href={routeCancel.url({})}
               class="text-sm font-semibold leading-6 text-gray-900"
             >
@@ -342,6 +349,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
             </a>
             <button
               type="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"
               disabled={lastStep !== undefined}
               onClick={async () => {
@@ -394,6 +402,7 @@ export function DownloadStats({ routeCancel }: Props): 
VNode {
           href={
             "data:text/plain;charset=utf-8," + encodeURIComponent(downloaded)
           }
+          name="save file"
           download={"bank-stats.csv"}
         >
           <Attention title={i18n.str`Download completed`}>
@@ -450,9 +459,9 @@ async function fetchAllStatus(
       // await delay()
       const previous = options.compareWithPrevious
         ? await api.getMonitor(token, {
-            timeframe: frame.timeframe,
-            which: frame.moment.previous,
-          })
+          timeframe: frame.timeframe,
+          which: frame.moment.previous,
+        })
         : undefined;
 
       if (previous && previous.type === "fail" && options.endOnFirstFail) {
diff --git a/packages/demobank-ui/src/pages/LoginForm.tsx 
b/packages/demobank-ui/src/pages/LoginForm.tsx
index 8acc79cfc..6d732f5e8 100644
--- a/packages/demobank-ui/src/pages/LoginForm.tsx
+++ b/packages/demobank-ui/src/pages/LoginForm.tsx
@@ -70,8 +70,8 @@ export function LoginForm({
       username: !username
         ? i18n.str`Missing username`
         : // : !USERNAME_REGEX.test(username)
-          //   ? i18n.str`Use letters and numbers only, and start with a 
lowercase letter`
-          undefined,
+        //   ? i18n.str`Use letters and numbers only, and start with a 
lowercase letter`
+        undefined,
       password: !password ? i18n.str`Missing password` : undefined,
     }) ?? busy;
 
@@ -202,6 +202,7 @@ export function LoginForm({
             <div class="flex justify-between">
               <button
                 type="submit"
+                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={(e) => {
                   e.preventDefault();
@@ -213,6 +214,7 @@ export function LoginForm({
 
               <button
                 type="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"
                 disabled={!!errors}
                 onClick={async (e) => {
@@ -227,6 +229,7 @@ export function LoginForm({
             <div>
               <button
                 type="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"
                 disabled={!!errors}
                 onClick={(e) => {
@@ -242,6 +245,7 @@ export function LoginForm({
 
         {config.allow_registrations && routeRegister && (
           <a
+            name="register"
             href={routeRegister.url({})}
             class="flex justify-center border-t mt-4 rounded-md bg-blue-600 
px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm 
hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-blue-600"
           >
diff --git a/packages/demobank-ui/src/pages/OperationState/views.tsx 
b/packages/demobank-ui/src/pages/OperationState/views.tsx
index 40d974a17..d086c3dd1 100644
--- a/packages/demobank-ui/src/pages/OperationState/views.tsx
+++ b/packages/demobank-ui/src/pages/OperationState/views.tsx
@@ -174,6 +174,7 @@ export function NeedConfirmationView({
               <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
                 <button
                   type="button"
+                  name="cancel"
                   class="text-sm font-semibold leading-6 text-gray-900"
                   onClick={(e) => {
                     e.preventDefault();
@@ -184,6 +185,7 @@ export function NeedConfirmationView({
                 </button>
                 <button
                   type="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={(e) => {
                     e.preventDefault();
@@ -290,6 +292,7 @@ export function ConfirmedView({ routeClose }: 
State.Confirmed) {
           </span>
           <button
             type="button"
+            name="toggle withdrawal"
             data-enabled={!settings.showWithdrawalSuccess}
             class="bg-indigo-600 data-[enabled=false]:bg-gray-200 relative 
inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 
border-transparent transition-colors duration-200 ease-in-out 
focus:outline-none focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
             role="switch"
@@ -315,6 +318,7 @@ export function ConfirmedView({ routeClose }: 
State.Confirmed) {
         <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"
         >
           <i18n.Translate>Close</i18n.Translate>
@@ -376,6 +380,7 @@ export function ReadyView({
       <div class="flex justify-end mt-4">
         <button
           type="button"
+          name="cancel"
           class="inline-flex items-center 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-500"
           onClick={onAbort}
         >
@@ -399,6 +404,7 @@ export function ReadyView({
             <div class="mt-5 sm:ml-6 sm:mt-0 sm:flex sm:flex-shrink-0 
sm:items-center">
               <a
                 href={talerWithdrawUri}
+                name="start"
                 class="inline-flex items-center  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"
               >
                 <i18n.Translate>Start</i18n.Translate>
diff --git a/packages/demobank-ui/src/pages/PaymentOptions.tsx 
b/packages/demobank-ui/src/pages/PaymentOptions.tsx
index a508845e1..10be1245f 100644
--- a/packages/demobank-ui/src/pages/PaymentOptions.tsx
+++ b/packages/demobank-ui/src/pages/PaymentOptions.tsx
@@ -101,7 +101,7 @@ export function PaymentOptions({
 
         <div class="px-4 mt-4 grid grid-cols-1 gap-y-6 sm:grid-cols-2 
sm:gap-x-4">
           {/* <!-- Active: "border-indigo-600 ring-2 ring-indigo-600", Not 
Active: "border-gray-300" --> */}
-          <a href={routeChargeWallet.url({})}>
+          <a name="charge wallet" href={routeChargeWallet.url({})}>
             <label
               class={
                 "relative flex cursor-pointer rounded-lg border bg-white p-4 
shadow-sm focus:outline-none" +
@@ -156,7 +156,7 @@ export function PaymentOptions({
             </label>
           </a>
 
-          <a href={routeWireTransfer.url({})}>
+          <a name="wire transfer" href={routeWireTransfer.url({})}>
             <label
               class={
                 "relative flex cursor-pointer rounded-lg border bg-white p-4 
shadow-sm focus:outline-none" +
diff --git a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx 
b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
index 9f5ac421d..9fe3453a5 100644
--- a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
+++ b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
@@ -484,6 +484,7 @@ export function PaytoWireTransferForm({
         <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
           {routeCancel ? (
             <a
+              name="cancel"
               href={routeCancel.url({})}
               class="text-sm font-semibold leading-6 text-gray-900"
             >
@@ -494,6 +495,7 @@ export function PaytoWireTransferForm({
           )}
           <button
             type="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"
             disabled={isRawPayto ? !!errorsPayto : !!errorsWire}
             onClick={(e) => {
diff --git a/packages/demobank-ui/src/pages/ProfileNavigation.tsx 
b/packages/demobank-ui/src/pages/ProfileNavigation.tsx
index 94669584a..7c52f4eaa 100644
--- a/packages/demobank-ui/src/pages/ProfileNavigation.tsx
+++ b/packages/demobank-ui/src/pages/ProfileNavigation.tsx
@@ -100,6 +100,7 @@ export function ProfileNavigation({
           aria-label="Tabs"
         >
           <a
+            name="my account details"
             href={routeMyAccountDetails.url({})}
             data-selected={current == "details"}
             class="rounded-l-lg text-gray-500 hover:text-gray-700 
data-[selected=true]:text-gray-900 group relative min-w-0 flex-1 
overflow-hidden bg-white py-4 px-4 text-center text-sm font-medium 
hover:bg-gray-50 focus:z-10"
@@ -115,6 +116,7 @@ export function ProfileNavigation({
           </a>
           {!config.allow_deletions ? undefined : (
             <a
+              name="my account delete"
               href={routeMyAccountDelete.url({})}
               data-selected={current == "delete"}
               aria-current="page"
@@ -131,6 +133,7 @@ export function ProfileNavigation({
             </a>
           )}
           <a
+            name="my account password"
             href={routeMyAccountPassword.url({})}
             data-selected={current == "credentials"}
             aria-current="page"
@@ -147,6 +150,7 @@ export function ProfileNavigation({
           </a>
           {config.allow_conversion && nonAdminUser ? (
             <a
+              name="my account cashout"
               href={routeMyAccountCashout.url({})}
               data-selected={current == "cashouts"}
               class="rounded-r-lg text-gray-500 hover:text-gray-700 
data-[selected=true]:text-gray-900 group relative min-w-0 flex-1 
overflow-hidden bg-white py-4 px-4 text-center text-sm font-medium 
hover:bg-gray-50 focus:z-10"
diff --git a/packages/demobank-ui/src/pages/PublicHistoriesPage.tsx 
b/packages/demobank-ui/src/pages/PublicHistoriesPage.tsx
index 2864cac65..f330cbc74 100644
--- a/packages/demobank-ui/src/pages/PublicHistoriesPage.tsx
+++ b/packages/demobank-ui/src/pages/PublicHistoriesPage.tsx
@@ -63,6 +63,7 @@ export function PublicHistoriesPage(): VNode {
       >
         <a
           href="#"
+          name={`show account ${account.username}`}
           class="pure-menu-link"
           onClick={() => setShowAccount(account.username)}
         >
diff --git a/packages/demobank-ui/src/pages/QrCodeSection.tsx 
b/packages/demobank-ui/src/pages/QrCodeSection.tsx
index b439003a0..d20b269a8 100644
--- a/packages/demobank-ui/src/pages/QrCodeSection.tsx
+++ b/packages/demobank-ui/src/pages/QrCodeSection.tsx
@@ -111,6 +111,7 @@ export function QrCodeSection({
               </i18n.Translate>{" "}
               <a
                 class="font-semibold text-gray-500 hover:text-gray-400"
+                name="wallet page"
                 href="https://taler.net/en/wallet.html";
               >
                 <i18n.Translate>this page</i18n.Translate>
@@ -121,6 +122,7 @@ export function QrCodeSection({
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 pt-2 mt-2 ">
             <button
               type="button"
+              name="cancel"
               // 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={doAbort}
@@ -129,6 +131,7 @@ export function QrCodeSection({
             </button>
             <a
               href={talerWithdrawUri}
+              name="withdraw"
               class="inline-flex items-center  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"
             >
               <i18n.Translate>Withdraw</i18n.Translate>
diff --git a/packages/demobank-ui/src/pages/RegistrationPage.tsx 
b/packages/demobank-ui/src/pages/RegistrationPage.tsx
index b7b02b76d..29e71413c 100644
--- a/packages/demobank-ui/src/pages/RegistrationPage.tsx
+++ b/packages/demobank-ui/src/pages/RegistrationPage.tsx
@@ -426,6 +426,7 @@ function RegistrationForm({
 
             <div class="flex w-full justify-between">
               <a
+                name="cancel"
                 href={routeCancel.url({})}
                 class="ring-1 ring-gray-600 rounded-md bg-white 
disabled:bg-gray-300 px-3 py-1.5 text-sm font-semibold leading-6 text-black 
shadow-sm hover:bg-white-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2"
               >
@@ -433,6 +434,7 @@ function RegistrationForm({
               </a>
               <button
                 type="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"
                 disabled={!!errors}
                 onClick={async (e) => {
@@ -450,6 +452,7 @@ function RegistrationForm({
             <p class="mt-10 text-center text-sm text-gray-500 border-t">
               <button
                 type="submit"
+                name="create random"
                 class="flex mt-4 w-full 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={(e) => {
                   e.preventDefault();
diff --git a/packages/demobank-ui/src/pages/SolveChallengePage.tsx 
b/packages/demobank-ui/src/pages/SolveChallengePage.tsx
index 61decf586..c7cd7e660 100644
--- a/packages/demobank-ui/src/pages/SolveChallengePage.tsx
+++ b/packages/demobank-ui/src/pages/SolveChallengePage.tsx
@@ -68,6 +68,7 @@ export function SolveChallengePage({
         <span>no challenge to solve </span>
         <a
           href={routeClose.url({})}
+          name="close"
           class="inline-flex items-center 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-500"
         >
           <i18n.Translate>Continue</i18n.Translate>
@@ -301,12 +302,14 @@ export function SolveChallengePage({
                 <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
                   <a
                     href={routeClose.url({})}
+                    name="cancel"
                     class="inline-flex items-center 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-500"
                   >
                     <i18n.Translate>Cancel</i18n.Translate>
                   </a>
                   <button
                     type="submit"
+                    name="confirm"
                     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={!!errors}
                     onClick={(e) => {
@@ -344,7 +347,7 @@ function ChallengeDetails({
         <div class="flex justify-between">
           <button
             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"
+            name="cancel"
             class="text-sm font-semibold leading-6 text-gray-900"
             onClick={onCancel}
           >
@@ -353,6 +356,7 @@ function ChallengeDetails({
           {challenge.info ? (
             <button
               type="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={(e) => {
                 onStart();
@@ -364,6 +368,7 @@ function ChallengeDetails({
           ) : (
             <button
               type="submit"
+              name="send code"
               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={(e) => {
                 onStart();
diff --git a/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx 
b/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
index be1528db8..196ee9d63 100644
--- a/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
+++ b/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
@@ -92,6 +92,7 @@ function OldWithdrawalForm({
         </i18n.Translate>{" "}
         <a
           class="font-semibold text-yellow-700 hover:text-yellow-600"
+          name="complete operation"
           href={url}
         // onClick={(e) => {
         //   e.preventDefault()
@@ -210,6 +211,7 @@ function OldWithdrawalForm({
           <div class="sm:inline">
             <button
               type="button"
+              name="set 50"
               class="               inline-flex px-6 py-4 text-sm items-center 
rounded-l-md bg-white text-gray-900 ring-1 ring-inset ring-gray-300 
hover:bg-gray-50 focus:z-10"
               onClick={(e) => {
                 e.preventDefault();
@@ -220,6 +222,7 @@ function OldWithdrawalForm({
             </button>
             <button
               type="button"
+              name="set 25"
               class=" -ml-px -mr-px inline-flex px-6 py-4 text-sm items-center 
rounded-r-md sm:rounded-none             bg-white text-gray-900 ring-1 
ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10"
               onClick={(e) => {
                 e.preventDefault();
@@ -232,6 +235,7 @@ function OldWithdrawalForm({
           <div class="mt-4 sm:inline">
             <button
               type="button"
+              name="set 10"
               class=" -ml-px -mr-px inline-flex px-6 py-4 text-sm items-center 
rounded-l-md sm:rounded-none             bg-white text-gray-900 ring-1 
ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10"
               onClick={(e) => {
                 e.preventDefault();
@@ -242,6 +246,7 @@ function OldWithdrawalForm({
             </button>
             <button
               type="button"
+              name="set 5"
               class="               inline-flex px-6 py-4 text-sm items-center 
rounded-r-md bg-white  text-gray-900 ring-1 ring-inset ring-gray-300 
hover:bg-gray-50 focus:z-10"
               onClick={(e) => {
                 e.preventDefault();
@@ -256,12 +261,14 @@ function OldWithdrawalForm({
       <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
         <a
           href={routeCancel.url({})}
+          name="cancel"
           class="text-sm font-semibold leading-6 text-gray-900"
         >
           <i18n.Translate>Cancel</i18n.Translate>
         </a>
         <button
           type="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}
           onClick={(e) => {
@@ -323,6 +330,7 @@ export function WalletWithdrawForm({
             </i18n.Translate>{" "}
             <a
               target="_blank"
+              name="wallet page"
               rel="noreferrer noopener"
               class="font-semibold text-blue-700 hover:text-blue-600"
               href="https://taler.net/en/wallet.html";
diff --git a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx 
b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
index e8fff1901..e4631fcc8 100644
--- a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
+++ b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
@@ -291,6 +291,7 @@ 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">
                     <button
                       type="button"
+                      name="cancel"
                       class="text-sm font-semibold leading-6 text-gray-900"
                       onClick={doCancel}
                     >
@@ -298,6 +299,7 @@ export function WithdrawalConfirmationQuestion({
                     </button>
                     <button
                       type="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={(e) => {
                         e.preventDefault();
diff --git a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx 
b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
index 8faa91d07..e6323631c 100644
--- a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
+++ b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
@@ -111,6 +111,7 @@ export function WithdrawalQRCode({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeClose.url({})}
+            name="continue"
             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"
           >
             <i18n.Translate>Continue</i18n.Translate>
@@ -161,6 +162,7 @@ export function WithdrawalQRCode({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeClose.url({})}
+            name="done"
             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"
           >
             <i18n.Translate>Done</i18n.Translate>
@@ -293,6 +295,7 @@ export function OperationNotFound({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeClose.url({})}
+            name="continue to dashboard"
             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"
           >
             <i18n.Translate>Cotinue to dashboard</i18n.Translate>
diff --git a/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx 
b/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx
index 70fd85ee8..8cd758c75 100644
--- a/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx
+++ b/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx
@@ -69,7 +69,6 @@ export function ShowAccountDetails({
       ? credentials.username === account
       : false;
 
-  // const [update, setUpdate] = useState(false);
   const [submitAccount, setSubmitAccount] = useState<
     TalerCorebankApi.AccountReconfiguration | undefined
   >();
@@ -203,24 +202,6 @@ export function ShowAccountDetails({
                   <i18n.Translate>Change details</i18n.Translate>
                 </span>
               </span>
-              {/* <button
-                type="button"
-                data-enabled={!update}
-                class="bg-indigo-600 data-[enabled=true]:bg-gray-200 relative 
inline-flex h-5 w-10 flex-shrink-0 cursor-pointer rounded-full ring-2 
border-gray-600 transition-colors duration-200 ease-in-out focus:outline-none 
focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2"
-                role="switch"
-                aria-checked="false"
-                aria-labelledby="availability-label"
-                aria-describedby="availability-description"
-                onClick={() => {
-                  setUpdate(!update);
-                }}
-              >
-                <span
-                  aria-hidden="true"
-                  data-enabled={!update}
-                  class="translate-x-5 data-[enabled=true]:translate-x-0 
pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow 
ring-0 transition duration-200 ease-in-out"
-                ></span>
-              </button> */}
             </div>
           </h2>
         </div>
@@ -235,12 +216,14 @@ export function ShowAccountDetails({
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
             <a
               href={routeClose.url({})}
+              name="cancel"
               class="text-sm font-semibold leading-6 text-gray-900"
             >
               <i18n.Translate>Cancel</i18n.Translate>
             </a>
             <button
               type="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"
               disabled={!submitAccount}
               onClick={doUpdate}
diff --git a/packages/demobank-ui/src/pages/account/UpdateAccountPassword.tsx 
b/packages/demobank-ui/src/pages/account/UpdateAccountPassword.tsx
index 3ce9b1094..0e04ae088 100644
--- a/packages/demobank-ui/src/pages/account/UpdateAccountPassword.tsx
+++ b/packages/demobank-ui/src/pages/account/UpdateAccountPassword.tsx
@@ -269,12 +269,14 @@ export function UpdateAccountPassword({
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
             <a
               href={routeClose.url({})}
+              name="cancel"
               class="text-sm font-semibold leading-6 text-gray-900"
             >
               <i18n.Translate>Cancel</i18n.Translate>
             </a>
             <button
               type="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"
               disabled={!!errors}
               onClick={(e) => {
diff --git a/packages/demobank-ui/src/pages/admin/AccountForm.tsx 
b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
index 8bdd65175..de30d473d 100644
--- a/packages/demobank-ui/src/pages/admin/AccountForm.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
@@ -647,6 +647,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
               </span>
               <button
                 type="button"
+                name="is public"
                 data-enabled={
                   form.isPublic ?? defaultValue.isPublic ? "true" : "false"
                 }
@@ -687,6 +688,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
                 </span>
                 <button
                   type="button"
+                  name="is exchange"
                   data-enabled={
                     form.isExchange ?? defaultValue.isExchange
                       ? "true"
diff --git a/packages/demobank-ui/src/pages/admin/AccountList.tsx 
b/packages/demobank-ui/src/pages/admin/AccountList.tsx
index 5528b5226..4e3f4afe3 100644
--- a/packages/demobank-ui/src/pages/admin/AccountList.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountList.tsx
@@ -81,6 +81,7 @@ export function AccountList({
           <div class="mt-4 sm:ml-16 sm:mt-0 sm:flex-none">
             <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"
             >
@@ -128,6 +129,7 @@ export function AccountList({
                         <tr key={idx}>
                           <td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm 
font-medium text-gray-900 sm:pl-0">
                             <a
+                              name={`show account ${item.username}`}
                               href={routeShowAccount.url({
                                 account: item.username,
                               })}
@@ -163,6 +165,7 @@ export function AccountList({
                           </td>
                           <td class="relative whitespace-nowrap py-4 pl-3 pr-4 
text-right text-sm font-medium sm:pr-0">
                             <a
+                              name={`update password ${item.username}`}
                               href={routeUpdatePasswordAccount.url({
                                 account: item.username,
                               })}
@@ -175,6 +178,7 @@ export function AccountList({
                               <Fragment>
 
                                 <a
+                                  name={`show cashout ${item.username}`}
                                   href={routeShowCashoutsAccount.url({
                                     account: item.username,
                                   })}
@@ -187,6 +191,7 @@ export function AccountList({
                               : undefined}
                             {noBalance ? (
                               <a
+                                name={`remove account ${item.username}`}
                                 href={routeRemoveAccount.url({
                                   account: item.username,
                                 })}
diff --git a/packages/demobank-ui/src/pages/admin/AdminHome.tsx 
b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
index 35106edeb..2df8ac112 100644
--- a/packages/demobank-ui/src/pages/admin/AdminHome.tsx
+++ b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
@@ -238,6 +238,7 @@ function Metrics({ routeDownloadStats }: {
         >
           <button
             type="button"
+            name="set last hour"
             onClick={(e) => {
               e.preventDefault();
               setMetricType(TalerCorebankApi.MonitorTimeframeParam.hour);
@@ -260,6 +261,7 @@ function Metrics({ routeDownloadStats }: {
           </button>
           <button
             type="button"
+            name="set last day"
             onClick={(e) => {
               e.preventDefault();
               setMetricType(TalerCorebankApi.MonitorTimeframeParam.day);
@@ -282,6 +284,7 @@ function Metrics({ routeDownloadStats }: {
           </button>
           <button
             type="button"
+            name="set last month"
             onClick={(e) => {
               e.preventDefault();
               setMetricType(TalerCorebankApi.MonitorTimeframeParam.month);
@@ -304,6 +307,7 @@ function Metrics({ routeDownloadStats }: {
           </button>
           <button
             type="button"
+            name="set last year"
             onClick={(e) => {
               e.preventDefault();
               setMetricType(TalerCorebankApi.MonitorTimeframeParam.year);
@@ -390,6 +394,7 @@ function Metrics({ routeDownloadStats }: {
       <div class="flex justify-end mt-2">
         <a
           href={routeDownloadStats.url({})}
+          name="download stats"
           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"
         >
           <i18n.Translate>Download stats as CSV</i18n.Translate>
diff --git a/packages/demobank-ui/src/pages/admin/CreateNewAccount.tsx 
b/packages/demobank-ui/src/pages/admin/CreateNewAccount.tsx
index 23d5a1e90..8773df50a 100644
--- a/packages/demobank-ui/src/pages/admin/CreateNewAccount.tsx
+++ b/packages/demobank-ui/src/pages/admin/CreateNewAccount.tsx
@@ -163,6 +163,7 @@ export function CreateNewAccount({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeCancel.url({})}
+            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"
           >
             <i18n.Translate>Close</i18n.Translate>
@@ -191,12 +192,14 @@ export function CreateNewAccount({
         <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
           <a
             href={routeCancel.url({})}
+            name="cancel"
             class="text-sm font-semibold leading-6 text-gray-900"
           >
             <i18n.Translate>Cancel</i18n.Translate>
           </a>
           <button
             type="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"
             disabled={!submitAccount}
             onClick={(e) => {
diff --git a/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx 
b/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx
index e62b6dc03..7fc5961cb 100644
--- a/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx
+++ b/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx
@@ -100,6 +100,7 @@ export function RemoveAccount({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeCancel.url({})}
+            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"
           >
             <i18n.Translate>Close</i18n.Translate>
@@ -238,12 +239,14 @@ export function RemoveAccount({
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
             <a
               href={routeCancel.url({})}
+              name="cancel"
               class="text-sm font-semibold leading-6 text-gray-900"
             >
               <i18n.Translate>Cancel</i18n.Translate>
             </a>
             <button
               type="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"
               disabled={!!errors}
               onClick={(e) => {
diff --git a/packages/demobank-ui/src/pages/business/CreateCashout.tsx 
b/packages/demobank-ui/src/pages/business/CreateCashout.tsx
index 6d538575b..8dcdf5296 100644
--- a/packages/demobank-ui/src/pages/business/CreateCashout.tsx
+++ b/packages/demobank-ui/src/pages/business/CreateCashout.tsx
@@ -100,6 +100,7 @@ export function CreateCashout({
         <div class="mt-5 sm:mt-6">
           <a
             href={routeClose.url({})}
+            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"
           >
             <i18n.Translate>Close</i18n.Translate>
@@ -676,6 +677,7 @@ export function CreateCashout({
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 px-4 py-4 sm:px-8">
             <a
               href={routeClose.url({})}
+              name="cancel"
               type="button"
               class="text-sm font-semibold leading-6 text-gray-900"
             >
@@ -683,6 +685,7 @@ export function CreateCashout({
             </a>
             <button
               type="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"
               disabled={!!errors}
               onClick={(e) => {
diff --git a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx 
b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
index 1e70886ad..d841ae319 100644
--- a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
+++ b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
@@ -179,6 +179,7 @@ export function ShowCashoutDetails({ id, routeClose }: 
Props): VNode {
       <div style={{ display: "flex", justifyContent: "space-between" }}>
         <a
           href={routeClose.url({})}
+          name="close"
           class="text-sm font-semibold leading-6 text-gray-900"
         >
           <i18n.Translate>Close</i18n.Translate>
diff --git a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts 
b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
index ec0106f6e..0e8561016 100644
--- a/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Deposit/state.ts
@@ -48,7 +48,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the status of deposit`,
         info,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts 
b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
index 81caf9878..027368a91 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/InvoiceCreate/state.ts
@@ -50,7 +50,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the list of exchanges`,
         hook,
       ),
     };
@@ -103,7 +103,7 @@ export function useComponentState({
       return {
         status: "error",
         error: alertFromError(
-          i18n.str`Could not load the status of the term of service`,
+          i18n.str`Could not load the invoice status`,
           hook,
         ),
       };
@@ -166,8 +166,8 @@ export function useComponentState({
           subject === undefined
             ? undefined
             : !subject
-            ? "Can't be empty"
-            : undefined,
+              ? "Can't be empty"
+              : undefined,
         value: subject ?? "",
         onInput: pushAlertOnError(async (e) => setSubject(e)),
       },
diff --git a/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts 
b/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
index 8bae9470f..64e2f4d80 100644
--- a/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/InvoicePay/state.ts
@@ -64,7 +64,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the transfer payment status`,
         hook,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/Payment/state.ts 
b/packages/taler-wallet-webextension/src/cta/Payment/state.ts
index d171ecbac..d853f9a5c 100644
--- a/packages/taler-wallet-webextension/src/cta/Payment/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Payment/state.ts
@@ -84,7 +84,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the payment and balance status`,
         hook,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/state.ts 
b/packages/taler-wallet-webextension/src/cta/Refund/state.ts
index 6c0f37471..23aeb259c 100644
--- a/packages/taler-wallet-webextension/src/cta/Refund/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/Refund/state.ts
@@ -72,7 +72,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the refund status`,
         info,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts 
b/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
index 297e8a56b..9d402b483 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/TransferCreate/state.ts
@@ -59,7 +59,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the max amount to transfer`,
         hook,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts 
b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
index 06ef80760..db3e85000 100644
--- a/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
+++ b/packages/taler-wallet-webextension/src/cta/TransferPickup/state.ts
@@ -50,7 +50,7 @@ export function useComponentState({
     return {
       status: "error",
       error: alertFromError(
-        i18n.str`Could not load the status of the term of service`,
+        i18n.str`Could not load the invoice payment status`,
         hook,
       ),
     };
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx 
b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
index 8d31223ed..4ceaad010 100644
--- a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
+++ b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx
@@ -135,6 +135,7 @@ export function SuccessView(state: State.Success): VNode {
       </section>
 
       <section>
+        {/* <div> */}
         <TermsOfService exchangeUrl={state.currentExchange.exchangeBaseUrl}>
           <Button
             variant="contained"
@@ -147,6 +148,20 @@ export function SuccessView(state: State.Success): VNode {
             </i18n.Translate>
           </Button>
         </TermsOfService>
+        {/* </div>
+        <div style={{ marginTop: 20 }}>
+          <Button
+            variant="text"
+            color="success"
+
+            disabled={!state.doAbort.onClick}
+            onClick={state.doAbort.onClick}
+          >
+            <i18n.Translate>
+              Cancel
+            </i18n.Translate>
+          </Button>
+        </div> */}
       </section>
       {state.talerWithdrawUri ? (
         <WithdrawWithMobile talerWithdrawUri={state.talerWithdrawUri} />
diff --git a/packages/web-util/src/components/Header.tsx 
b/packages/web-util/src/components/Header.tsx
index 0f50b8327..0b86418ec 100644
--- a/packages/web-util/src/components/Header.tsx
+++ b/packages/web-util/src/components/Header.tsx
@@ -12,7 +12,7 @@ export function Header({ title, iconLinkURL, sites, onLogout, 
children }:
       <div class="flex flex-row h-16 items-center ">
         <div class="flex px-2 justify-start">
           <div class="flex-shrink-0 bg-white rounded-lg">
-            <a href={iconLinkURL ?? "#"}>
+            <a href={iconLinkURL ?? "#"} name="logo">
               <img
                 class="h-8 w-auto"
                 src={logo}
@@ -30,12 +30,12 @@ export function Header({ title, iconLinkURL, sites, 
onLogout, children }:
             {sites.map((site) => {
               if (site.length !== 2) return;
               const [name, url] = site
-              return <a href={url} class="hidden sm:block text-white 
hover:bg-indigo-500 hover:bg-opacity-75 rounded-md py-2 px-3 text-sm 
font-medium">{name}</a>
+              return <a href={url} name={`site header ${name}`} class="hidden 
sm:block text-white hover:bg-indigo-500 hover:bg-opacity-75 rounded-md py-2 
px-3 text-sm font-medium">{name}</a>
             })}
           </div>
         </div>
         <div class="flex justify-end">
-          <button type="button" class="relative inline-flex items-center 
justify-center rounded-md bg-indigo-600 p-1 text-indigo-200 hover:bg-indigo-500 
hover:bg-opacity-75 hover:text-white focus:outline-none focus:ring-2 
focus:ring-white focus:ring-offset-2 focus:ring-offset-indigo-600" 
aria-controls="mobile-menu" aria-expanded="false"
+          <button type="button" name="toggle sidebar" class="relative 
inline-flex items-center justify-center rounded-md bg-indigo-600 p-1 
text-indigo-200 hover:bg-indigo-500 hover:bg-opacity-75 hover:text-white 
focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 
focus:ring-offset-indigo-600" aria-controls="mobile-menu" aria-expanded="false"
             onClick={(e) => {
               setOpen(!open)
             }}>
@@ -50,7 +50,7 @@ export function Header({ title, iconLinkURL, sites, onLogout, 
children }:
     </header>
 
     {open &&
-      <div class="relative z-10" aria-labelledby="slide-over-title" 
role="dialog" aria-modal="true"
+      <div class="relative z-10" name="sidebar overlay" 
aria-labelledby="slide-over-title" role="dialog" aria-modal="true"
         onClick={() => {
           setOpen(false)
         }}>
@@ -70,7 +70,7 @@ export function Header({ title, iconLinkURL, sites, onLogout, 
children }:
                         <i18n.Translate>Menu</i18n.Translate>
                       </h2>
                       <div class="ml-3 flex h-7 items-center">
-                        <button type="button" class="relative rounded-md 
bg-white text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 
focus:ring-indigo-500 focus:ring-offset-2"
+                        <button type="button" name="close sidebar" 
class="relative rounded-md bg-white text-gray-400 hover:text-gray-500 
focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2"
                           onClick={(e) => {
                             setOpen(false)
                           }}
@@ -93,6 +93,7 @@ export function Header({ title, iconLinkURL, sites, onLogout, 
children }:
                         {onLogout ?
                           <li>
                             <a href="#"
+                              name="logout"
                               class="text-gray-700 hover:text-indigo-600 
hover:bg-gray-100 group flex gap-x-3 rounded-md p-2 text-sm leading-6 
font-semibold"
                               onClick={() => {
                                 onLogout();
@@ -120,7 +121,7 @@ export function Header({ title, iconLinkURL, sites, 
onLogout, children }:
                             <ul role="list" class="space-y-1">
                               {sites.map(([name, url]) => {
                                 return <li>
-                                  <a href={url} target="_blank" rel="noopener 
noreferrer" class="text-gray-700 hover:text-indigo-600 hover:bg-gray-100 group 
flex gap-x-3 rounded-md p-2 text-sm leading-6 font-semibold">
+                                  <a href={url} name={`site ${name}`} 
target="_blank" rel="noopener noreferrer" class="text-gray-700 
hover:text-indigo-600 hover:bg-gray-100 group flex gap-x-3 rounded-md p-2 
text-sm leading-6 font-semibold">
                                     <span class="flex h-6 w-6 shrink-0 
items-center justify-center rounded-lg border text-[0.625rem] font-medium 
bg-white text-gray-400 border-gray-200 group-hover:border-indigo-600 
group-hover:text-indigo-600">&gt;</span>
                                     <span class="truncate">{name}</span>
                                   </a>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]