From e3c92b6080f4b2c7f146bd84953ef51114b23cdb Mon Sep 17 00:00:00 2001
From: Sebastian <sebasjm@gmail.com>
Date: Mon, 6 Jun 2022 00:04:53 -0300
Subject: updating package

---
 .../src/pages/home/AddingProviderScreen.tsx        | 58 ++++++++++++----------
 1 file changed, 31 insertions(+), 27 deletions(-)

(limited to 'packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx')

diff --git a/packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx b/packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx
index d85aa5974..3f3abdb54 100644
--- a/packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx
+++ b/packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx
@@ -59,6 +59,26 @@ export function AddingProviderScreen({ providerType, onCancel }: Props): VNode {
     ? authMethods[providerType].label
     : undefined;
 
+  const allAuthProviders =
+    !reducer ||
+    !reducer.currentReducerState ||
+    reducer.currentReducerState.reducer_type === "error" ||
+    !reducer.currentReducerState.authentication_providers
+      ? {}
+      : reducer.currentReducerState.authentication_providers;
+  const authProviders = Object.keys(allAuthProviders).filter((provUrl) => {
+    const p = allAuthProviders[provUrl];
+    if (!providerLabel) {
+      return p && "currency" in p;
+    } else {
+      return (
+        p &&
+        "currency" in p &&
+        p.methods.findIndex((m) => m.type === providerType) !== -1
+      );
+    }
+  });
+
   //FIXME: move this timeout logic into a hook
   const timeout = useRef<number | undefined>(undefined);
   useEffect(() => {
@@ -69,17 +89,22 @@ export function AddingProviderScreen({ providerType, onCancel }: Props): VNode {
       try {
         setTesting(true);
         await testProvider(url, providerType);
-        // this is use as tested but everything when ok
-        // undefined will mean that the field is not dirty
         setError("");
       } catch (e) {
-        console.log("tuvieja", e);
         if (e instanceof Error) setError(e.message);
       }
       setTesting(false);
     }, 200);
   }, [providerURL, reducer]);
 
+  async function addProvider(provider_url: string): Promise<void> {
+    await reducer?.transition("add_provider", { provider_url });
+    onCancel();
+  }
+  function deleteProvider(provider_url: string): void {
+    reducer?.transition("delete_provider", { provider_url });
+  }
+
   if (!reducer) {
     return <div>no reducer in context</div>;
   }
@@ -91,29 +116,6 @@ export function AddingProviderScreen({ providerType, onCancel }: Props): VNode {
     return <div>invalid state</div>;
   }
 
-  async function addProvider(provider_url: string): Promise<void> {
-    await reducer?.transition("add_provider", { provider_url });
-    onCancel();
-  }
-  function deleteProvider(provider_url: string): void {
-    reducer?.transition("delete_provider", { provider_url });
-  }
-
-  const allAuthProviders =
-    reducer.currentReducerState.authentication_providers || {};
-  const authProviders = Object.keys(allAuthProviders).filter((provUrl) => {
-    const p = allAuthProviders[provUrl];
-    if (!providerLabel) {
-      return p && "currency" in p;
-    } else {
-      return (
-        p &&
-        "currency" in p &&
-        p.methods.findIndex((m) => m.type === providerType) !== -1
-      );
-    }
-  });
-
   let errors = !providerURL ? "Add provider URL" : undefined;
   let url: string | undefined;
   try {
@@ -190,7 +192,9 @@ export function AddingProviderScreen({ providerType, onCancel }: Props): VNode {
 
         {authProviders.map((k) => {
           const p = allAuthProviders[k] as AuthenticationProviderStatusOk;
-          return <TableRow url={k} info={p} onDelete={deleteProvider} />;
+          return (
+            <TableRow key={k} url={k} info={p} onDelete={deleteProvider} />
+          );
         })}
       </div>
     </AnastasisClientFrame>
-- 
cgit v1.2.3

