import { useCallback, useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom-v5-compat'; import { t } from '@grafana/i18n'; import { ConfirmModal, IconButton } from '@grafana/ui'; import { useDeleteRepositoryMutation } from 'app/api/clients/provisioning/v0alpha1'; interface Props { name: string; redirectTo?: string; } export function DeleteRepositoryButton({ name, redirectTo }: Props) { const [deleteRepository, request] = useDeleteRepositoryMutation(); const [showModal, setShowModal] = useState(false); const navigate = useNavigate(); useEffect(() => { if (request.isSuccess) { setShowModal(false); if (redirectTo) { navigate(redirectTo); } } }, [request.isSuccess, redirectTo, navigate]); const onConfirm = useCallback(() => { deleteRepository({ name }); }, [deleteRepository, name]); return ( <> { setShowModal(true); }} /> setShowModal(false)} /> ); }