From 9c82c3bcc8c3412648b5acc729da006f2c845dc2 Mon Sep 17 00:00:00 2001 From: Wroud Date: Sat, 16 May 2020 04:01:45 +0300 Subject: [PATCH] fix(authentication): tabs --- .../authentication/src/Dialog/AuthDialog.tsx | 17 +++++++++++++---- .../src/Dialog/AuthDialogController.ts | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/webapp/packages/authentication/src/Dialog/AuthDialog.tsx b/webapp/packages/authentication/src/Dialog/AuthDialog.tsx index 18cbe67015..2823f8bd67 100644 --- a/webapp/packages/authentication/src/Dialog/AuthDialog.tsx +++ b/webapp/packages/authentication/src/Dialog/AuthDialog.tsx @@ -7,8 +7,9 @@ */ import { observer } from 'mobx-react'; -import { useEffect } from 'react'; -import { useTabState, Tab as BaseTab, TabList } from 'reakit/Tab'; +import { + useTabState, Tab as BaseTab, TabList +} from 'reakit/Tab'; import styled, { css } from 'reshadow'; import { SubmittingForm, ErrorMessage } from '@dbeaver/core/blocks'; @@ -102,7 +103,6 @@ export const AuthDialog: DialogComponent = observer( selectedId: controller.provider?.id, }); tab.selectedId = controller.provider?.id || null; - useEffect(() => controller.selectProvider(tab.selectedId!), [tab.selectedId]); return styled(useStyles(styles))( = observer( header={( {controller.providers.map(provider => ( - {provider.label} + controller.selectProvider(provider.id)} + > + {provider.label} + ))} )} @@ -131,6 +139,7 @@ export const AuthDialog: DialogComponent = observer( authenticate={controller.isAuthenticating} /> )} + {!controller.provider && <>Select available provider} {controller.error.responseMessage && ( { + if (providerId === this.provider?.id) { + return; + } this.provider = this.authProviderService .providers.data.find(provider => provider.id === providerId) || null; this.credentials = {};