import { IconButton } from '@rocket.chat/fuselage'; import { useStableCallback } from '@rocket.chat/fuselage-hooks'; import { GenericModal, GenericTableCell } from '@rocket.chat/ui-client'; import { useRoute, useEndpoint, useSetModal, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import type { MouseEvent } from 'react'; import { useTranslation } from 'react-i18next'; const RemoveSlaButton = ({ _id, reload }: { _id: string; reload: () => void }) => { const { t } = useTranslation(); const setModal = useSetModal(); const slaRoute = useRoute('omnichannel-sla-policies'); const dispatchToastMessage = useToastMessageDispatch(); const removeSLA = useEndpoint('DELETE', `/v1/livechat/sla/:slaId`, { slaId: _id }); const handleDelete = useStableCallback((e: MouseEvent) => { e.stopPropagation(); const onDeleteAgent = async (): Promise => { try { await removeSLA(); dispatchToastMessage({ type: 'success', message: t('SLA_removed') }); reload(); slaRoute.push({}); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); } finally { setModal(); } }; setModal( setModal()} confirmText={t('Delete')} />); }); return ( ); }; export default RemoveSlaButton;