diff options
Diffstat (limited to 'packages/anastasis-webui/src/pages/home')
-rw-r--r-- | packages/anastasis-webui/src/pages/home/AddingProviderScreen.tsx | 58 | ||||
-rw-r--r-- | packages/anastasis-webui/src/pages/home/style.css | 0 |
2 files changed, 31 insertions, 27 deletions
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> diff --git a/packages/anastasis-webui/src/pages/home/style.css b/packages/anastasis-webui/src/pages/home/style.css deleted file mode 100644 index e69de29bb..000000000 --- a/packages/anastasis-webui/src/pages/home/style.css +++ /dev/null |