From 4de014927e95d792633ea367eb4404459489d44f Mon Sep 17 00:00:00 2001
From: Sebastian
Date: Sun, 5 Mar 2023 15:21:12 -0300
Subject: validate IBAN, removing internal iban from account form, add missing
logo, do not save backend URL in login state
---
packages/demobank-ui/src/pages/AdminPage.tsx | 214 +++++++++++++++------------
1 file changed, 118 insertions(+), 96 deletions(-)
(limited to 'packages/demobank-ui/src/pages/AdminPage.tsx')
diff --git a/packages/demobank-ui/src/pages/AdminPage.tsx b/packages/demobank-ui/src/pages/AdminPage.tsx
index 2a5701a95..3d0c09cbf 100644
--- a/packages/demobank-ui/src/pages/AdminPage.tsx
+++ b/packages/demobank-ui/src/pages/AdminPage.tsx
@@ -40,6 +40,7 @@ import {
PartialButDefined,
RecursivePartial,
undefinedIfEmpty,
+ validateIBAN,
WithIntermediate,
} from "../utils.js";
import { ErrorBannerFloat } from "./BankFrame.js";
@@ -230,74 +231,78 @@ export function AdminPage({ onLoadNotOk }: Props): VNode {
-
- {i18n.str`Accounts:`}
-
-
+ {!customers.length ? (
+
+ ) : (
+
+ {i18n.str`Accounts:`}
+
+
+ )}
);
@@ -835,15 +840,15 @@ function AccountForm({
? i18n.str`only "IBAN" target are supported`
: !IBAN_REGEX.test(parsed.iban)
? i18n.str`IBAN should have just uppercased letters and numbers`
- : undefined,
+ : validateIBAN(parsed.iban, i18n),
contact_data: undefinedIfEmpty({
email: !newForm.contact_data?.email
- ? undefined
+ ? i18n.str`required`
: !EMAIL_REGEX.test(newForm.contact_data.email)
? i18n.str`it should be an email`
: undefined,
phone: !newForm.contact_data?.phone
- ? undefined
+ ? i18n.str`required`
: !newForm.contact_data.phone.startsWith("+")
? i18n.str`should start with +`
: !REGEX_JUST_NUMBERS_REGEX.test(newForm.contact_data.phone)
@@ -851,10 +856,10 @@ function AccountForm({
: undefined,
}),
iban: !newForm.iban
- ? i18n.str`required`
+ ? undefined //optional field
: !IBAN_REGEX.test(newForm.iban)
? i18n.str`IBAN should have just uppercased letters and numbers`
- : undefined,
+ : validateIBAN(newForm.iban, i18n),
name: !newForm.name ? i18n.str`required` : undefined,
username: !newForm.username ? i18n.str`required` : undefined,
});
@@ -866,7 +871,10 @@ function AccountForm({
return (