From 15af6c619de70336bcdfbabbd32b9d93aabefc5b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 22 Sep 2023 18:34:49 -0300 Subject: towards new core bank api --- .../demobank-ui/src/pages/RegistrationPage.tsx | 47 +++++++++++++--------- 1 file changed, 27 insertions(+), 20 deletions(-) (limited to 'packages/demobank-ui/src/pages/RegistrationPage.tsx') diff --git a/packages/demobank-ui/src/pages/RegistrationPage.tsx b/packages/demobank-ui/src/pages/RegistrationPage.tsx index f972e0380..8221457bf 100644 --- a/packages/demobank-ui/src/pages/RegistrationPage.tsx +++ b/packages/demobank-ui/src/pages/RegistrationPage.tsx @@ -53,6 +53,7 @@ export const USERNAME_REGEX = /^[a-z][a-zA-Z0-9-]*$/; function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { const backend = useBackendContext(); const [username, setUsername] = useState(); + const [name, setName] = useState(); const [password, setPassword] = useState(); const [repeatPassword, setRepeatPassword] = useState(); @@ -60,6 +61,9 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { const { i18n } = useTranslationContext(); const errors = undefinedIfEmpty({ + name: !name + ? i18n.str`Missing name` + : undefined, username: !username ? i18n.str`Missing username` : !USERNAME_REGEX.test(username) @@ -74,9 +78,9 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { }); async function doRegistrationStep() { - if (!username || !password) return; + if (!username || !password || !name) return; try { - await register({ username, password }); + await register({ name, username, password }); setUsername(undefined); backend.logIn({ username, password }); onComplete(); @@ -97,13 +101,13 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { ? error.message : JSON.stringify(error)) as TranslatedString ) -} + } } setPassword(undefined); setRepeatPassword(undefined); -} + } - async function delay(ms: number):Promise { + async function delay(ms: number): Promise { return new Promise((resolve) => { setTimeout(() => { resolve(undefined); @@ -117,14 +121,15 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { setUsername(undefined); setPassword(undefined); setRepeatPassword(undefined); - await register({ username: user, password: pass }); - backend.logIn({ username: user, password: pass }); + const username = `_${user.first}-${user.second}_` + await register({ username, name: `${user.first} ${user.second}`, password: pass }); + backend.logIn({ username, password: pass }); onComplete(); } catch (error) { if (error instanceof RequestError) { if (tries > 0) { await delay(200) - await doRandomRegistration(tries-1) + await doRandomRegistration(tries - 1) } else { notify( buildRequestErrorMessage(i18n, error.cause, { @@ -142,7 +147,7 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { ? error.message : JSON.stringify(error)) as TranslatedString ) -} + } } } @@ -257,17 +262,19 @@ function RegistrationForm({ onComplete }: { onComplete: () => void }): VNode { -

- -

+ {bankUiSettings.allowRandomAccountCreation && +

+ +

+ } -- cgit v1.2.3