diff --git a/apps/web/app/dashboard/(authenticated)/connector-configs/ConnectorConfigForm.tsx b/apps/web/app/dashboard/(authenticated)/connector-configs/ConnectorConfigForm.tsx index c141c3b2..abd30fbf 100644 --- a/apps/web/app/dashboard/(authenticated)/connector-configs/ConnectorConfigForm.tsx +++ b/apps/web/app/dashboard/(authenticated)/connector-configs/ConnectorConfigForm.tsx @@ -80,9 +80,9 @@ export function ConnectorConfigForm({ links: zRaw.connector_config.shape.defaultPipeOut .unwrap() .unwrap().shape.links, - destination_id: zConnId.optional().openapi({ - description: 'Defaults to the org-wide postgres', - }), + // destination_id: zConnId.optional().openapi({ + // description: 'Defaults to the org-wide postgres', + // }), }) .openapi({title: 'Enabled'}), ]) diff --git a/packages/engine-frontend/components/AddConnectionTabContent.tsx b/packages/engine-frontend/components/AddConnectionTabContent.tsx index c26f206f..83cec252 100644 --- a/packages/engine-frontend/components/AddConnectionTabContent.tsx +++ b/packages/engine-frontend/components/AddConnectionTabContent.tsx @@ -27,6 +27,8 @@ export function AddConnectionTabContent({ } else if (event.type === 'success') { onSuccessCallback?.() refetch() + } else if (event.type === 'error') { + refetch() } }} /> diff --git a/packages/engine-frontend/components/ConnectionPortal.tsx b/packages/engine-frontend/components/ConnectionPortal.tsx index 77653ef6..e4b2270e 100644 --- a/packages/engine-frontend/components/ConnectionPortal.tsx +++ b/packages/engine-frontend/components/ConnectionPortal.tsx @@ -1,6 +1,6 @@ 'use client' -import {Loader} from 'lucide-react' +import {Loader2} from 'lucide-react' import {useTheme} from 'next-themes' import {usePathname, useRouter, useSearchParams} from 'next/navigation' import {useEffect} from 'react' @@ -33,7 +33,7 @@ const getBaseView = ( export function LoadingSpinner() { return (
- +
) } @@ -125,10 +125,7 @@ export function ConnectionPortal({className}: ConnectionPortalProps) { const connectionCount = connections.length const isLoading = - listConnectionsRes.isLoading || - listConnectionsRes.isFetching || - listConnectionsRes.isRefetching || - deleteConnection.isLoading + listConnectionsRes.isLoading || listConnectionsRes.isFetching const baseView = getBaseView(searchParams?.get('view')) @@ -142,6 +139,7 @@ export function ConnectionPortal({className}: ConnectionPortalProps) { navigateToTab('add')} refetch={() => ctx.listConnections.invalidate()} @@ -158,8 +156,9 @@ export function ConnectionPortal({className}: ConnectionPortalProps) { { + onSuccessCallback={async () => { navigateToTab('manage') + await listConnectionsRes.refetch() }} /> ), diff --git a/packages/engine-frontend/components/ConnectionsTabContent.tsx b/packages/engine-frontend/components/ConnectionsTabContent.tsx index 8a4ef3b5..5adcde8e 100644 --- a/packages/engine-frontend/components/ConnectionsTabContent.tsx +++ b/packages/engine-frontend/components/ConnectionsTabContent.tsx @@ -22,6 +22,7 @@ interface Connection { interface ConnectionsTabContentProps { connectionCount: number deleteConnection: ({id}: {id: string}) => void + isDeleting: boolean onConnect: () => void refetch: () => void connections: Connection[] @@ -31,6 +32,7 @@ export function ConnectionsTabContent({ connectionCount, deleteConnection, connections, + isDeleting, onConnect, refetch, }: ConnectionsTabContentProps) { @@ -78,6 +80,7 @@ export function ConnectionsTabContent({ connection={selectedConnection} deleteConnection={deleteConnection} onClose={() => setSelectedConnection(null)} + isDeleting={isDeleting} /> ) : (
diff --git a/packages/engine-frontend/components/IntegrationSearch.tsx b/packages/engine-frontend/components/IntegrationSearch.tsx index 8ff49c1d..43af4c55 100644 --- a/packages/engine-frontend/components/IntegrationSearch.tsx +++ b/packages/engine-frontend/components/IntegrationSearch.tsx @@ -1,6 +1,6 @@ 'use client' -import {Loader, Search} from 'lucide-react' +import {Loader2, Search} from 'lucide-react' import {useSearchParams} from 'next/navigation' import {useCallback, useEffect, useState} from 'react' import type {Id} from '@openint/cdk' @@ -168,7 +168,7 @@ export function IntegrationSearch({
{listIntegrationsRes.isLoading ? (
- +
) : (
diff --git a/packages/ui/domain-components/ConnectionCard.tsx b/packages/ui/domain-components/ConnectionCard.tsx index 9bcf65be..05ccbe8f 100644 --- a/packages/ui/domain-components/ConnectionCard.tsx +++ b/packages/ui/domain-components/ConnectionCard.tsx @@ -1,4 +1,4 @@ -import {Loader} from 'lucide-react' +import {Loader2} from 'lucide-react' import * as React from 'react' import type {ConnectorConfig} from '../../engine-frontend/hocs/WithConnectConfig' import {Ellipsis} from '../components' @@ -59,7 +59,7 @@ export function ConnectionCard({ {/* Overlay spinner */} {isProcessing && (
- +
)} @@ -118,7 +118,7 @@ export function ConnectionCard({

) : conn.syncInProgress ? (
- +

Syncing...

) : ( diff --git a/packages/ui/domain-components/ConnectionDetails.tsx b/packages/ui/domain-components/ConnectionDetails.tsx index 8b67e028..a320d2a3 100644 --- a/packages/ui/domain-components/ConnectionDetails.tsx +++ b/packages/ui/domain-components/ConnectionDetails.tsx @@ -1,4 +1,4 @@ -import {ArrowLeft} from 'lucide-react' +import {ArrowLeft, Loader2} from 'lucide-react' import type {ConnectorConfig} from '../../engine-frontend/hocs/WithConnectConfig' import {Button} from '../shadcn' import {IntegrationLogo} from './ConnectionRawCard' @@ -19,16 +19,23 @@ interface ConnectionDetailsProps { type?: string } deleteConnection: ({id}: {id: string}) => void + isDeleting: boolean onClose: () => void } export function ConnectionDetails({ connection, deleteConnection, + isDeleting, onClose, }: ConnectionDetailsProps) { return ( -
+
+ {isDeleting && ( +
+ +
+ )}
deleteConnection({id: connection.id})} + disabled={isDeleting} className="h-9"> - Delete Connection + {isDeleting ? 'Deleting...' : 'Delete Connection'}
diff --git a/packages/ui/domain-components/IntegrationCard.tsx b/packages/ui/domain-components/IntegrationCard.tsx index ef7a6999..7661b385 100644 --- a/packages/ui/domain-components/IntegrationCard.tsx +++ b/packages/ui/domain-components/IntegrationCard.tsx @@ -1,4 +1,4 @@ -import {Loader, Plus} from 'lucide-react' +import {Loader2, Plus} from 'lucide-react' import {useEffect, useRef, useState} from 'react' import {Card, CardContent} from '../shadcn' import { @@ -72,7 +72,7 @@ export function IntegrationCard({ {isLoading && (
- +
)}