import { useMemo } from 'react' import { useParams } from 'common' import { useFDWsQuery } from 'data/fdw/fdws-query' import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject' import { Card, CardContent, Table, TableBody, TableCaption, TableHead, TableHeader, TableRow, } from 'ui' import { INTEGRATIONS } from '../Landing/Integrations.constants' import WrapperRow from './WrapperRow' import { wrapperMetaComparator } from './Wrappers.utils' interface WrapperTableProps { isLatest?: boolean } export const WrapperTable = ({ isLatest = false }: WrapperTableProps) => { const { id, ref } = useParams() const { data: project } = useSelectedProjectQuery() const integration = INTEGRATIONS.find((i) => i.id === id) const { data } = useFDWsQuery({ projectRef: ref, connectionString: project?.connectionString, }) const wrappers = useMemo( () => integration && integration.type === 'wrapper' && data ? data.filter((wrapper) => wrapperMetaComparator(integration.meta, wrapper)) : [], [data, integration] ) if (!integration || integration.type !== 'wrapper') { return (

The referenced ID doesn't correspond to a wrapper integration

) } return ( {wrappers.length} {integration?.name} {wrappers.length > 1 ? 's' : ''} created Name Tables Encrypted key {(isLatest ? wrappers.slice(0, 3) : wrappers).map((x) => { return })}
) }