diff --git a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx index e9f44db8c6..a36005d9d4 100644 --- a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx +++ b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx @@ -47,7 +47,7 @@ import { setIsReconnectingDatasourcesModalOpen, setOrgIdForImport, } from "actions/applicationActions"; -import { Datasource } from "entities/Datasource"; +import { AuthType, Datasource } from "entities/Datasource"; import { DATASOURCE_DB_FORM } from "constants/forms"; import { initialize } from "redux-form"; import TooltipComponent from "components/ads/Tooltip"; @@ -452,6 +452,18 @@ function ReconnectDatasourceModal() { // checking of full configured useEffect(() => { if (isModalOpen && !isTesting) { + // if there is only one gsheet datasource, it shouldn't be redirected to app immediately + if ( + !queryIsImport && + datasources.length === 1 && + datasources[0].isConfigured + ) { + const authType = + datasources[0].datasourceConfiguration?.authentication + ?.authenticationType; + + if (authType === AuthType.OAUTH2) return; + } const id = selectedDatasourceId; const pending = datasources.filter((ds: Datasource) => !ds.isConfigured); if (pending.length > 0) { @@ -469,7 +481,7 @@ function ReconnectDatasourceModal() { window.open(appURL, "_self"); } } - }, [datasources, appURL, isModalOpen, isTesting]); + }, [datasources, appURL, isModalOpen, isTesting, queryIsImport]); const mappedDataSources = datasources.map((ds: Datasource) => { return (