From 92d67413773b91f4088b3ac7d3c236d859de976b Mon Sep 17 00:00:00 2001 From: taitsengstock Date: Fri, 19 Dec 2025 16:44:55 +1100 Subject: [PATCH] Improved UX for wallet integration --- .../overlays/add-connection-overlay.tsx | 15 +++++++++++ .../overlays/edit-connection-overlay.tsx | 15 +++++++++++ components/workflow/config/action-config.tsx | 27 ++++++++++--------- keeperhub/plugins/web3/index.ts | 18 ++++--------- plugins/registry.ts | 5 ++++ 5 files changed, 55 insertions(+), 25 deletions(-) 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 */}