summaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/pages/RegistrationPage.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-04-07 17:30:01 -0300
committerSebastian <sebasjm@gmail.com>2023-04-07 17:30:01 -0300
commita3aa7d95d09c83794067c47df4a455c0e3f21806 (patch)
tree00837196305227fe6f7cbc7289f96b256d5de089 /packages/demobank-ui/src/pages/RegistrationPage.tsx
parent43ae414a55b84b1125c5e4377c6d485ca6c748e2 (diff)
downloadwallet-core-a3aa7d95d09c83794067c47df4a455c0e3f21806.tar.gz
wallet-core-a3aa7d95d09c83794067c47df4a455c0e3f21806.tar.bz2
wallet-core-a3aa7d95d09c83794067c47df4a455c0e3f21806.zip
anon withdrawal confirmation, and fix error with infinity loop
Diffstat (limited to 'packages/demobank-ui/src/pages/RegistrationPage.tsx')
-rw-r--r--packages/demobank-ui/src/pages/RegistrationPage.tsx22
1 files changed, 9 insertions, 13 deletions
diff --git a/packages/demobank-ui/src/pages/RegistrationPage.tsx b/packages/demobank-ui/src/pages/RegistrationPage.tsx
index 8554b1def..5b9584dde 100644
--- a/packages/demobank-ui/src/pages/RegistrationPage.tsx
+++ b/packages/demobank-ui/src/pages/RegistrationPage.tsx
@@ -21,7 +21,11 @@ import {
import { Fragment, h, VNode } from "preact";
import { useState } from "preact/hooks";
import { useBackendContext } from "../context/backend.js";
-import { PageStateType } from "../context/pageState.js";
+import {
+ PageStateType,
+ notifyError,
+ usePageContext,
+} from "../context/pageState.js";
import { useTestingAPI } from "../hooks/access.js";
import { bankUiSettings } from "../settings.js";
import { buildRequestErrorMessage, undefinedIfEmpty } from "../utils.js";
@@ -30,11 +34,9 @@ import { ShowInputErrorLabel } from "./ShowInputErrorLabel.js";
const logger = new Logger("RegistrationPage");
export function RegistrationPage({
- onError,
onComplete,
}: {
onComplete: () => void;
- onError: (e: PageStateType["error"]) => void;
}): VNode {
const { i18n } = useTranslationContext();
if (!bankUiSettings.allowRegistrations) {
@@ -42,7 +44,7 @@ export function RegistrationPage({
<p>{i18n.str`Currently, the bank is not accepting new registrations!`}</p>
);
}
- return <RegistrationForm onComplete={onComplete} onError={onError} />;
+ return <RegistrationForm onComplete={onComplete} />;
}
export const USERNAME_REGEX = /^[a-z][a-zA-Z0-9]*$/;
@@ -50,13 +52,7 @@ export const USERNAME_REGEX = /^[a-z][a-zA-Z0-9]*$/;
/**
* Collect and submit registration data.
*/
-function RegistrationForm({
- onComplete,
- onError,
-}: {
- onComplete: () => void;
- onError: (e: PageStateType["error"]) => void;
-}): VNode {
+function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode {
const backend = useBackendContext();
const [username, setUsername] = useState<string | undefined>();
const [password, setPassword] = useState<string | undefined>();
@@ -171,7 +167,7 @@ function RegistrationForm({
onComplete();
} catch (error) {
if (error instanceof RequestError) {
- onError(
+ notifyError(
buildRequestErrorMessage(i18n, error.cause, {
onClientError: (status) =>
status === HttpStatusCode.Conflict
@@ -180,7 +176,7 @@ function RegistrationForm({
}),
);
} else {
- onError({
+ notifyError({
title: i18n.str`Operation failed, please report`,
description:
error instanceof Error