diff options
Diffstat (limited to 'packages/exchange-backoffice-ui/src/pages/CreateAccount.tsx')
-rw-r--r-- | packages/exchange-backoffice-ui/src/pages/CreateAccount.tsx | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/packages/exchange-backoffice-ui/src/pages/CreateAccount.tsx b/packages/exchange-backoffice-ui/src/pages/CreateAccount.tsx deleted file mode 100644 index 5dcb8b21d..000000000 --- a/packages/exchange-backoffice-ui/src/pages/CreateAccount.tsx +++ /dev/null @@ -1,102 +0,0 @@ -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 ( - <div class="flex min-h-full flex-col "> - <div class="sm:mx-auto sm:w-full sm:max-w-md"> - <h2 class="mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-900"> - Create account - </h2> - </div> - - <div class="mt-10 sm:mx-auto sm:w-full sm:max-w-[480px] "> - <div class="bg-gray-100 px-6 py-6 shadow sm:rounded-lg sm:px-12"> - <Form.Provider - computeFormState={(v) => { - 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!); - } - }} - > - <div class="mb-4"> - <Form.InputLine - label={"Password" as TranslatedString} - name="password" - type="password" - help={ - "lower and upper case letters, number and special character" as TranslatedString - } - required - /> - </div> - <div class="mb-4"> - <Form.InputLine - label={"Repeat password" as TranslatedString} - name="repeat" - type="password" - required - /> - </div> - - <div class="mt-8"> - <button - type="submit" - class="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" - > - Create - </button> - </div> - </Form.Provider> - </div> - </div> - </div> - ); -} |