From c680f5aa71b08e978444df07f93c381f9d47ab82 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 5 Jun 2023 10:04:09 -0300 Subject: rename aml --- .../aml-backoffice-ui/src/pages/CreateAccount.tsx | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 packages/aml-backoffice-ui/src/pages/CreateAccount.tsx (limited to 'packages/aml-backoffice-ui/src/pages/CreateAccount.tsx') diff --git a/packages/aml-backoffice-ui/src/pages/CreateAccount.tsx b/packages/aml-backoffice-ui/src/pages/CreateAccount.tsx new file mode 100644 index 000000000..5dcb8b21d --- /dev/null +++ b/packages/aml-backoffice-ui/src/pages/CreateAccount.tsx @@ -0,0 +1,102 @@ +import { TranslatedString } from "@gnu-taler/taler-util"; +import { + notifyError, + useTranslationContext, +} from "@gnu-taler/web-util/browser"; +import { VNode, h } from "preact"; +import { createNewForm } from "../handlers/forms.js"; + +export function CreateAccount({ + onNewAccount, +}: { + onNewAccount: (password: string) => void; +}): VNode { + const { i18n } = useTranslationContext(); + const Form = createNewForm<{ + password: string; + repeat: string; + }>(); + + return ( +
+
+

+ Create account +

+
+ +
+
+ { + return { + password: { + error: !v.password + ? i18n.str`required` + : v.password.length < 8 + ? i18n.str`should have at least 8 characters` + : !v.password.match(/[a-z]/) && v.password.match(/[A-Z]/) + ? i18n.str`should have lowercase and uppercase characters` + : !v.password.match(/\d/) + ? i18n.str`should have numbers` + : !v.password.match(/[^a-zA-Z\d]/) + ? i18n.str`should have at least one character which is not a number or letter` + : undefined, + }, + repeat: { + error: !v.repeat + ? i18n.str`required` + : v.repeat !== v.password + ? i18n.str`doesn't match` + : undefined, + }, + }; + }} + onSubmit={async (v, s) => { + console.log(v, s); + const error = s?.password?.error ?? s?.repeat?.error; + console.log(error); + if (error) { + notifyError( + "Can't create account" as TranslatedString, + error as TranslatedString, + ); + } else { + onNewAccount(v.password!); + } + }} + > +
+ +
+
+ +
+ +
+ +
+
+
+
+
+ ); +} -- cgit v1.2.3