diff options
Diffstat (limited to 'packages/demobank-ui/src/pages/RegistrationPage.tsx')
-rw-r--r-- | packages/demobank-ui/src/pages/RegistrationPage.tsx | 22 |
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 |