gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: confirm personal information


From: gnunet
Subject: [taler-wallet-core] branch master updated: confirm personal information fix #7090
Date: Wed, 10 Nov 2021 22:11:19 +0100

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 0ac7433e confirm personal information fix #7090
0ac7433e is described below

commit 0ac7433ea7fa952c46062daef1c3de535d92b7f3
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Wed Nov 10 18:10:45 2021 -0300

    confirm personal information fix #7090
---
 .../src/pages/home/AttributeEntryScreen.tsx        | 25 ++++++++--
 .../src/pages/home/AuthenticationEditorScreen.tsx  | 58 +---------------------
 .../src/pages/home/ConfirmModal.tsx                | 52 +++++++++++++++++++
 3 files changed, 73 insertions(+), 62 deletions(-)

diff --git a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx 
b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
index 0918c2db..4b26c38b 100644
--- a/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
+++ b/packages/anastasis-webui/src/pages/home/AttributeEntryScreen.tsx
@@ -6,6 +6,7 @@ import { DateInput } from "../../components/fields/DateInput";
 import { PhoneNumberInput } from "../../components/fields/NumberInput";
 import { TextInput } from "../../components/fields/TextInput";
 import { useAnastasisContext } from "../../context/anastasis";
+import { ConfirmModal } from "./ConfirmModal";
 import { AnastasisClientFrame, withProcessLabel } from "./index";
 
 export function AttributeEntryScreen(): VNode {
@@ -18,6 +19,7 @@ export function AttributeEntryScreen(): VNode {
   const [attrs, setAttrs] = useState<Record<string, string>>(
     currentIdentityAttributes,
   );
+  const [askUserIfSure, setAskUserIfSure] = useState(false);
 
   if (!reducer) {
     return <div>no reducer in context</div>;
@@ -51,12 +53,25 @@ export function AttributeEntryScreen(): VNode {
     <AnastasisClientFrame
       title={withProcessLabel(reducer, "Who are you?")}
       hideNext={hasErrors ? "Complete the form." : undefined}
-      onNext={() =>
-        reducer.transition("enter_user_attributes", {
-          identity_attributes: attrs,
-        })
-      }
+      onNext={async () => setAskUserIfSure(true) }
     >
+      {askUserIfSure ? (
+        <ConfirmModal
+          active
+          onCancel={() => setAskUserIfSure(false)}
+          description="You can not forget what you had entered"
+          label="I am sure"
+          cancelLabel="Wait, I want to check"
+          onConfirm={() => reducer.transition("enter_user_attributes", {
+            identity_attributes: attrs,
+          })}
+        >
+          You personal information is used to define the location where your 
+          secret will be safely stored. If you forget what you have entered or 
+          if there is a misspell you will be unable to recover your secret 
again.
+        </ConfirmModal>
+      ) : null}
+
       <div class="columns" style={{ maxWidth: "unset" }}>
         <div class="column">{fieldList}</div>
         <div class="column">
diff --git 
a/packages/anastasis-webui/src/pages/home/AuthenticationEditorScreen.tsx 
b/packages/anastasis-webui/src/pages/home/AuthenticationEditorScreen.tsx
index 1ef32677..2da7d52f 100644
--- a/packages/anastasis-webui/src/pages/home/AuthenticationEditorScreen.tsx
+++ b/packages/anastasis-webui/src/pages/home/AuthenticationEditorScreen.tsx
@@ -10,6 +10,7 @@ import {
   isKnownAuthMethods,
   KnownAuthMethods,
 } from "./authMethod";
+import { ConfirmModal } from "./ConfirmModal";
 import { AnastasisClientFrame } from "./index";
 
 const getKeys = Object.keys as <T extends object>(obj: T) => Array<keyof T>;
@@ -246,60 +247,3 @@ function AuthMethodNotImplemented(props: 
AuthMethodSetupProps): VNode {
   );
 }
 
-function ConfirmModal({
-  active,
-  description,
-  onCancel,
-  onConfirm,
-  children,
-  danger,
-  disabled,
-  label = "Confirm",
-}: ConfirmModelProps): VNode {
-  return (
-    <div class={active ? "modal is-active" : "modal"}>
-      <div class="modal-background " onClick={onCancel} />
-      <div class="modal-card" style={{ maxWidth: 700 }}>
-        <header class="modal-card-head">
-          {!description ? null : (
-            <p class="modal-card-title">
-              <b>{description}</b>
-            </p>
-          )}
-          <button class="delete " aria-label="close" onClick={onCancel} />
-        </header>
-        <section class="modal-card-body">{children}</section>
-        <footer class="modal-card-foot">
-          <button class="button" onClick={onCancel}>
-            Dismiss
-          </button>
-          <div class="buttons is-right" style={{ width: "100%" }}>
-            <button
-              class={danger ? "button is-danger " : "button is-info "}
-              disabled={disabled}
-              onClick={onConfirm}
-            >
-              {label}
-            </button>
-          </div>
-        </footer>
-      </div>
-      <button
-        class="modal-close is-large "
-        aria-label="close"
-        onClick={onCancel}
-      />
-    </div>
-  );
-}
-
-interface ConfirmModelProps {
-  active?: boolean;
-  description?: string;
-  onCancel?: () => void;
-  onConfirm?: () => void;
-  label?: string;
-  children?: ComponentChildren;
-  danger?: boolean;
-  disabled?: boolean;
-}
diff --git a/packages/anastasis-webui/src/pages/home/ConfirmModal.tsx 
b/packages/anastasis-webui/src/pages/home/ConfirmModal.tsx
new file mode 100644
index 00000000..cab70de6
--- /dev/null
+++ b/packages/anastasis-webui/src/pages/home/ConfirmModal.tsx
@@ -0,0 +1,52 @@
+import { ComponentChildren, h, VNode } from "preact";
+
+export interface ConfirmModelProps {
+  active?: boolean;
+  description?: string;
+  onCancel?: () => void;
+  onConfirm?: () => void;
+  label?: string;
+  cancelLabel?: string;
+  children?: ComponentChildren;
+  danger?: boolean;
+  disabled?: boolean;
+}
+
+export function ConfirmModal({
+  active, description, onCancel, onConfirm, children, danger, disabled, label 
= "Confirm", cancelLabel = "Dismiss"
+}: ConfirmModelProps): VNode {
+  return (
+    <div class={active ? "modal is-active" : "modal"}>
+      <div class="modal-background " onClick={onCancel} />
+      <div class="modal-card" style={{ maxWidth: 700 }}>
+        <header class="modal-card-head">
+          {!description ? null : (
+            <p class="modal-card-title">
+              <b>{description}</b>
+            </p>
+          )}
+          <button class="delete " aria-label="close" onClick={onCancel} />
+        </header>
+        <section class="modal-card-body">{children}</section>
+        <footer class="modal-card-foot">
+          <button class="button" onClick={onCancel}>
+            {cancelLabel}
+          </button>
+          <div class="buttons is-right" style={{ width: "100%" }}>
+            <button
+              class={danger ? "button is-danger " : "button is-info "}
+              disabled={disabled}
+              onClick={onConfirm}
+            >
+              {label}
+            </button>
+          </div>
+        </footer>
+      </div>
+      <button
+        class="modal-close is-large "
+        aria-label="close"
+        onClick={onCancel} />
+    </div>
+  );
+}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]