import { useParams } from 'common' import Table from 'components/to-be-cleaned/Table' import AlertError from 'components/ui/AlertError' import { useReplicationDestinationsQuery } from 'data/replication/destinations-query' import { Plus } from 'lucide-react' import { Button, cn } from 'ui' import { GenericSkeletonLoader } from 'ui-patterns' import DestinationRow from './DestinationRow' import { useReplicationPipelinesQuery } from 'data/replication/pipelines-query' import { useState } from 'react' import NewDestinationPanel from './DestinationPanel' import { useReplicationSourcesQuery } from 'data/replication/sources-query' import { ScaffoldSection, ScaffoldSectionTitle } from 'components/layouts/Scaffold' const Destinations = () => { const [showNewDestinationPanel, setShowNewDestinationPanel] = useState(false) const { ref: projectRef } = useParams() const { data: sourcesData, error: sourcesError, isLoading: isSourcesLoading, isError: isSourcesError, isSuccess: isSourcesSuccess, } = useReplicationSourcesQuery({ projectRef, }) let sourceId = sourcesData?.sources.find((s) => s.name === projectRef)?.id const { data: destinationsData, error: destinationsError, isLoading: isDestinationsLoading, isError: isDestinationsError, isSuccess: isDestinationsSuccess, } = useReplicationDestinationsQuery({ projectRef, }) const { data: pipelinesData, error: pipelinesError, isLoading: isPipelinesLoading, isError: isPipelinesError, isSuccess: isPipelinesSuccess, } = useReplicationPipelinesQuery({ projectRef, }) const anyDestinations = isDestinationsSuccess && destinationsData.destinations.length > 0 return ( <> Destinations } onClick={() => setShowNewDestinationPanel(true)}> Add destination {(isSourcesLoading || isDestinationsLoading) && } {(isSourcesError || isDestinationsError) && ( )} {anyDestinations ? ( Name, Type, Status, Publication, , ]} body={destinationsData.destinations.map((destination) => { const pipeline = pipelinesData?.pipelines.find( (p) => p.destination_id === destination.id ) return ( ) })} > ) : ( !isSourcesLoading && !isDestinationsLoading && !isSourcesError && !isDestinationsError && ( Send data to your first destination Use destinations to improve performance or run analysis on your data via integrations like BigQuery } onClick={() => setShowNewDestinationPanel(true)} className="mt-6" > Add destination ) )} setShowNewDestinationPanel(false)} > > ) } export default Destinations
Use destinations to improve performance or run analysis on your data via integrations like BigQuery