import { CellContext } from '@tanstack/react-table'; import { useRouter } from '@uirouter/react'; import { Authorized } from '@/react/hooks/useUser'; import { useDisconnectContainer } from '@/react/docker/networks/queries'; import { useEnvironmentId } from '@/react/hooks/useEnvironmentId'; import { LoadingButton } from '@@/buttons'; import { TableNetwork, isContainerNetworkTableMeta } from './types'; import { columnHelper } from './helper'; export const actions = columnHelper.display({ header: 'Actions', cell: Cell, }); function Cell({ row, table: { options: { meta }, }, }: CellContext) { const router = useRouter(); const environmentId = useEnvironmentId(); const disconnectMutation = useDisconnectContainer(); return ( Leave network ); function handleSubmit() { if (!isContainerNetworkTableMeta(meta)) { throw new Error('Invalid row meta'); } disconnectMutation.mutate( { environmentId, networkId: row.original.id, containerId: meta.containerId, }, { onSuccess() { router.stateService.reload(); }, } ); } }