Skip to content

Commit

Permalink
Add warning state to beneficiary validation (#699)
Browse files Browse the repository at this point in the history
  • Loading branch information
bloodyowl authored Apr 22, 2024
1 parent 64b7029 commit 338551a
Showing 1 changed file with 54 additions and 23 deletions.
77 changes: 54 additions & 23 deletions clients/banking/src/components/TransferWizardBeneficiary.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -291,17 +291,28 @@ export const TransferWizardBeneficiary = ({
label={t("transfer.new.beneficiary.name")}
render={id => (
<Field name="name">
{({ value, onChange, onBlur, error, valid, ref }) => (
<LakeTextInput
id={id}
ref={ref}
value={value}
error={error}
valid={valid}
onChangeText={onChange}
onBlur={onBlur}
/>
)}
{({ value, onChange, onBlur, error, valid, ref }) => {
const shouldWarn = match(
beneficiaryVerification.mapOk(query => query.beneficiaryVerification),
)
.with(
AsyncData.P.Done(Result.P.Ok({ __typename: P.not("BeneficiaryMatch") })),
() => true,
)
.otherwise(() => false);
return (
<LakeTextInput
id={id}
ref={ref}
value={value}
error={error}
valid={!shouldWarn && valid}
onChangeText={onChange}
onBlur={onBlur}
warning={shouldWarn}
/>
);
}}
</Field>
)}
/>
Expand All @@ -310,18 +321,38 @@ export const TransferWizardBeneficiary = ({
label={t("transfer.new.iban.label")}
render={id => (
<Field name="iban">
{({ value, onChange, onBlur, error, valid, ref }) => (
<LakeTextInput
id={id}
ref={ref}
placeholder={t("transfer.new.iban.placeholder")}
value={printIbanFormat(value)}
error={error}
valid={valid}
onChangeText={onChange}
onBlur={onBlur}
/>
)}
{({ value, onChange, onBlur, error, valid, ref }) => {
const shouldWarn = match(
beneficiaryVerification.mapOk(query => query.beneficiaryVerification),
)
.with(
AsyncData.P.Done(
Result.P.Ok(
P.union(
{
__typename: "InvalidBeneficiaryVerification",
},
{ __typename: "BeneficiaryMismatch", accountStatus: "Inactive" },
),
),
),
() => true,
)
.otherwise(() => false);
return (
<LakeTextInput
id={id}
ref={ref}
placeholder={t("transfer.new.iban.placeholder")}
value={printIbanFormat(value)}
error={error}
valid={!shouldWarn && valid}
onChangeText={onChange}
onBlur={onBlur}
warning={shouldWarn}
/>
);
}}
</Field>
)}
/>
Expand Down

0 comments on commit 338551a

Please sign in to comment.