diff options
Diffstat (limited to 'packages/bank-ui/src/pages/LoginForm.tsx')
-rw-r--r-- | packages/bank-ui/src/pages/LoginForm.tsx | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/packages/bank-ui/src/pages/LoginForm.tsx b/packages/bank-ui/src/pages/LoginForm.tsx index bd20e79c8..a097417c3 100644 --- a/packages/bank-ui/src/pages/LoginForm.tsx +++ b/packages/bank-ui/src/pages/LoginForm.tsx @@ -14,15 +14,13 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { - HttpStatusCode -} from "@gnu-taler/taler-util"; +import { HttpStatusCode } from "@gnu-taler/taler-util"; import { Button, LocalNotificationBanner, ShowInputErrorLabel, useLocalNotificationHandler, - useTranslationContext + useTranslationContext, } from "@gnu-taler/web-util/browser"; import { VNode, h } from "preact"; import { useEffect, useRef, useState } from "preact/hooks"; @@ -62,38 +60,42 @@ export function LoginForm({ ref.current?.focus(); }, []); - const errors = - undefinedIfEmpty({ - username: !username - ? i18n.str`Missing username` - : // : !USERNAME_REGEX.test(username) + const errors = undefinedIfEmpty({ + username: !username + ? i18n.str`Missing username` + : // : !USERNAME_REGEX.test(username) // ? i18n.str`Use letters and numbers only, and start with a lowercase letter` undefined, - password: !password ? i18n.str`Missing password` : undefined, - }); + password: !password ? i18n.str`Missing password` : undefined, + }); async function doLogout() { session.logOut(); } - const loginHandler = !username || !password ? undefined : withErrorHandler( - async () => authenticator(username) - .createAccessToken(password, { - // scope: "readwrite" as "write", // FIX: different than merchant - scope: "readwrite", - duration: { d_us: "forever" }, - refreshable: true, - }), - (result) => { - session.logIn({ username, token: result.body.access_token }) - }, - (fail) => { - switch (fail.case) { - case HttpStatusCode.Unauthorized: return i18n.str`Wrong credentials for "${username}"`; - case HttpStatusCode.NotFound: return i18n.str`Account not found`; - } - } - ) + const loginHandler = + !username || !password + ? undefined + : withErrorHandler( + async () => + authenticator(username).createAccessToken(password, { + // scope: "readwrite" as "write", // FIX: different than merchant + scope: "readwrite", + duration: { d_us: "forever" }, + refreshable: true, + }), + (result) => { + session.logIn({ username, token: result.body.access_token }); + }, + (fail) => { + switch (fail.case) { + case HttpStatusCode.Unauthorized: + return i18n.str`Wrong credentials for "${username}"`; + case HttpStatusCode.NotFound: + return i18n.str`Account not found`; + } + }, + ); return ( <div class="flex min-h-full flex-col justify-center "> |