diff --git a/components/overlays/add-connection-overlay.tsx b/components/overlays/add-connection-overlay.tsx index 999cc2db0..2449d7f55 100644 --- a/components/overlays/add-connection-overlay.tsx +++ b/components/overlays/add-connection-overlay.tsx @@ -14,6 +14,9 @@ import { aiGatewayTeamsLoadingAtom, } from "@/lib/ai-gateway/state"; import { api } from "@/lib/api-client"; +// start keeperhub +import { getCustomIntegrationFormHandler } from "@/lib/extension-registry"; +// end keeperhub import type { IntegrationType } from "@/lib/types/integration"; import { getIntegration, @@ -361,6 +364,18 @@ export function ConfigureConnectionOverlay({ // Render config fields const renderConfigFields = () => { + // start keeperhub - check for custom form handlers (e.g., web3 wallet) + const customHandler = getCustomIntegrationFormHandler(type); + if (customHandler) { + return customHandler({ + integrationType: type, + isEditMode: false, + config, + updateConfig, + }); + } + // end keeperhub + if (type === "database") { return ( { + // start keeperhub - check for custom form handlers (e.g., web3 wallet display) + const customHandler = getCustomIntegrationFormHandler(integration.type); + if (customHandler) { + return customHandler({ + integrationType: integration.type, + isEditMode: true, + config, + updateConfig, + }); + } + // end keeperhub + if (integration.type === "database") { return ( - {hasExistingConnections && ( - - )} + {/* start keeperhub - hide + button for singleConnection integrations */} + {hasExistingConnections && + !getIntegration(integrationType)?.singleConnection && ( + + )} + {/* end keeperhub */}