import { useParams } from 'common' import { isValidRetryPolicy } from './ReplicationPipelineStatus/ReplicationPipelineStatus.utils' import { RetryCountdown } from './RetryCountdown' import { InlineLink } from '@/components/ui/InlineLink' import { ReplicationPipelineTableStatus } from '@/data/replication/pipeline-replication-status-query' interface ErroredTableDetailsProps { table: ReplicationPipelineTableStatus } /** * What happens next for a table that failed, as the second sentence of the row's status line, so * it ends in a period. The error and how to fix it live in ErrorDetailsDialog, via View error. */ export const ErroredTableDetails = ({ table }: ErroredTableDetailsProps) => { const { ref: projectRef } = useParams() const state = table.state as Extract if (!isValidRetryPolicy(state.retry_policy)) return <>Retry settings are invalid. switch (state.retry_policy.policy) { case 'timed_retry': return case 'manual_retry': return <>Reset this table to resume. case 'no_retry': return ( <> Needs{' '} support , or recreate the pipeline. ) } }