[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: show an error message when th
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: show an error message when the input has more than 21 chars |
Date: |
Fri, 15 Apr 2022 18:08:37 +0200 |
This is an automated email from the git hooks/post-receive script.
sebasjm pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new b3b1329a show an error message when the input has more than 21 chars
b3b1329a is described below
commit b3b1329acf9072e9a727b548d9d1b316ca396c33
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri Apr 15 13:07:03 2022 -0300
show an error message when the input has more than 21 chars
---
.../pages/home/authMethod/AuthMethodEmailSolve.tsx | 24 +++++++++++++++-------
.../pages/home/authMethod/AuthMethodPostSolve.tsx | 16 +++++++++++++--
.../pages/home/authMethod/AuthMethodSmsSolve.tsx | 16 +++++++++++++--
packages/anastasis-webui/src/utils/index.tsx | 1 +
4 files changed, 46 insertions(+), 11 deletions(-)
diff --git
a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodEmailSolve.tsx
b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodEmailSolve.tsx
index d7b5f31f..2ec27b8f 100644
---
a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodEmailSolve.tsx
+++
b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodEmailSolve.tsx
@@ -17,14 +17,13 @@
/**
* Imports.
*/
-import {
- ChallengeInfo,
-} from "@gnu-taler/anastasis-core";
+import { ChallengeInfo } from "@gnu-taler/anastasis-core";
import { h, VNode } from "preact";
import { useState } from "preact/hooks";
import { AsyncButton } from "../../../components/AsyncButton";
import { TextInput } from "../../../components/fields/TextInput";
import { useAnastasisContext } from "../../../context/anastasis";
+import { useTranslator } from "../../../i18n";
import { AnastasisClientFrame } from "../index";
import { SolveOverviewFeedbackDisplay } from "../SolveScreen";
import { shouldHideConfirm } from "./helpers";
@@ -48,12 +47,13 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
result += `-${unformatted.substring(8, 12)}`;
}
if (unformatted.length > 12) {
- result += `-${unformatted.substring(12, 16)}`;
+ result += `-${unformatted.substring(12)}`;
}
_setAnswer(result);
}
const [expanded, setExpanded] = useState(false);
+ const i18n = useTranslator();
const reducer = useAnastasisContext();
if (!reducer) {
@@ -66,7 +66,7 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
if (reducer.currentReducerState?.reducer_type !== "recovery") {
return (
<AnastasisClientFrame hideNav title="Recovery problem">
- <div>invalid state</div>
+ <div>invalid state, no recovery state</div>
</AnastasisClientFrame>
);
}
@@ -84,7 +84,7 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
if (!reducer.currentReducerState.selected_challenge_uuid) {
return (
<AnastasisClientFrame hideNav title="Recovery problem">
- <div>invalid state</div>
+ <div>invalid state, no challenge id</div>
<div
style={{
marginTop: "2em",
@@ -122,6 +122,11 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
reducer?.back();
}
+ const error =
+ answer.length > 21
+ ? i18n`The answer should not be greater than 21 characters.`
+ : undefined;
+
return (
<AnastasisClientFrame hideNav title="Email challenge">
<SolveOverviewFeedbackDisplay feedback={feedback} />
@@ -160,6 +165,7 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
grabFocus
onConfirm={onNext}
bind={[answer, setAnswer]}
+ error={error}
placeholder="A-12345-678-1234-5678"
/>
@@ -174,7 +180,11 @@ export function AuthMethodEmailSolve({ id }:
AuthMethodSolveProps): VNode {
Cancel
</button>
{!shouldHideConfirm(feedback) && (
- <AsyncButton class="button is-info" onClick={onNext}>
+ <AsyncButton
+ class="button is-info"
+ onClick={onNext}
+ disabled={!!error}
+ >
Confirm
</AsyncButton>
)}
diff --git
a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodPostSolve.tsx
b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodPostSolve.tsx
index 382ffa00..9766703b 100644
--- a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodPostSolve.tsx
+++ b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodPostSolve.tsx
@@ -7,6 +7,7 @@ import { useState } from "preact/hooks";
import { AsyncButton } from "../../../components/AsyncButton";
import { TextInput } from "../../../components/fields/TextInput";
import { useAnastasisContext } from "../../../context/anastasis";
+import { useTranslator } from "../../../i18n";
import { AnastasisClientFrame } from "../index";
import { SolveOverviewFeedbackDisplay } from "../SolveScreen";
import { shouldHideConfirm } from "./helpers";
@@ -30,11 +31,12 @@ export function AuthMethodPostSolve({ id }:
AuthMethodSolveProps): VNode {
result += `-${unformatted.substring(8, 12)}`;
}
if (unformatted.length > 12) {
- result += `-${unformatted.substring(12, 16)}`;
+ result += `-${unformatted.substring(12)}`;
}
_setAnswer(result);
}
+ const i18n = useTranslator();
const reducer = useAnastasisContext();
if (!reducer) {
@@ -103,6 +105,11 @@ export function AuthMethodPostSolve({ id }:
AuthMethodSolveProps): VNode {
reducer?.back();
}
+ const error =
+ answer.length > 21
+ ? i18n`The answer should not be greater than 21 characters.`
+ : undefined;
+
return (
<AnastasisClientFrame hideNav title="Postal Challenge">
<SolveOverviewFeedbackDisplay feedback={feedback} />
@@ -112,6 +119,7 @@ export function AuthMethodPostSolve({ id }:
AuthMethodSolveProps): VNode {
label="Answer"
grabFocus
placeholder="A-12345-678-1234-5678"
+ error={error}
bind={[answer, setAnswer]}
/>
@@ -126,7 +134,11 @@ export function AuthMethodPostSolve({ id }:
AuthMethodSolveProps): VNode {
Cancel
</button>
{!shouldHideConfirm(feedback) && (
- <AsyncButton class="button is-info" onClick={onNext}>
+ <AsyncButton
+ class="button is-info"
+ onClick={onNext}
+ disabled={!!error}
+ >
Confirm
</AsyncButton>
)}
diff --git
a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSolve.tsx
b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSolve.tsx
index f3d304c7..041d9c12 100644
--- a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSolve.tsx
+++ b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSolve.tsx
@@ -7,6 +7,7 @@ import { useState } from "preact/hooks";
import { AsyncButton } from "../../../components/AsyncButton";
import { TextInput } from "../../../components/fields/TextInput";
import { useAnastasisContext } from "../../../context/anastasis";
+import { useTranslator } from "../../../i18n";
import { AnastasisClientFrame } from "../index";
import { SolveOverviewFeedbackDisplay } from "../SolveScreen";
import { shouldHideConfirm } from "./helpers";
@@ -30,11 +31,12 @@ export function AuthMethodSmsSolve({ id }:
AuthMethodSolveProps): VNode {
result += `-${unformatted.substring(8, 12)}`;
}
if (unformatted.length > 12) {
- result += `-${unformatted.substring(12, 16)}`;
+ result += `-${unformatted.substring(12)}`;
}
_setAnswer(result);
}
+ const i18n = useTranslator();
const [expanded, setExpanded] = useState(false);
const reducer = useAnastasisContext();
@@ -104,6 +106,11 @@ export function AuthMethodSmsSolve({ id }:
AuthMethodSolveProps): VNode {
reducer?.back();
}
+ const error =
+ answer.length > 21
+ ? i18n`The answer should not be greater than 21 characters.`
+ : undefined;
+
return (
<AnastasisClientFrame hideNav title="SMS Challenge">
<SolveOverviewFeedbackDisplay feedback={feedback} />
@@ -142,6 +149,7 @@ export function AuthMethodSmsSolve({ id }:
AuthMethodSolveProps): VNode {
grabFocus
onConfirm={onNext}
bind={[answer, setAnswer]}
+ error={error}
placeholder="A-12345-678-1234-5678"
/>
@@ -156,7 +164,11 @@ export function AuthMethodSmsSolve({ id }:
AuthMethodSolveProps): VNode {
Cancel
</button>
{!shouldHideConfirm(feedback) && (
- <AsyncButton class="button is-info" onClick={onNext}>
+ <AsyncButton
+ class="button is-info"
+ onClick={onNext}
+ disabled={!!error}
+ >
Confirm
</AsyncButton>
)}
diff --git a/packages/anastasis-webui/src/utils/index.tsx
b/packages/anastasis-webui/src/utils/index.tsx
index d2b64e31..4dace093 100644
--- a/packages/anastasis-webui/src/utils/index.tsx
+++ b/packages/anastasis-webui/src/utils/index.tsx
@@ -222,6 +222,7 @@ export const reducerStatesExample = {
} as ReducerState,
challengeSolving: {
...base,
+ reducer_type: "recovery",
recovery_state: RecoveryStates.ChallengeSolving,
} as ReducerStateRecovery,
challengePaying: {
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: show an error message when the input has more than 21 chars,
gnunet <=