https://dev.kronoz.win/r/marzneshin.git
1import {
2 useToast,
3} from '@chakra-ui/react';
4import { useNodes } from 'stores';
5import { FC, useState } from 'react';
6import { useTranslation } from 'react-i18next';
7import { DeleteModal } from 'components/delete-modal';
8
9export const DeleteNodeModal: FC = () => {
10 const { deleteNode, refetchNodes, deletingNode, onDeletingNode } = useNodes();
11 const { t } = useTranslation();
12 const toast = useToast();
13 const [loading, setLoading] = useState(false);
14 const onClose = () => {
15 onDeletingNode(undefined);
16 };
17
18 const onDelete = () => {
19 if (deletingNode) {
20 setLoading(true);
21 deleteNode(deletingNode)
22 .then(() => {
23 refetchNodes();
24 toast({
25 title: t('deleteNode.deleteSuccess', { name: deletingNode.name }),
26 status: 'success',
27 isClosable: true,
28 position: 'top',
29 duration: 3000,
30 });
31 })
32 .then(onClose)
33 .finally(setLoading.bind(null, false));
34 }
35 };
36
37 return (
38 <DeleteModal
39 onDelete={onDelete}
40 loading={loading}
41 isOpen={!!deletingNode}
42 onClose={onClose}
43 deletingObjectName={deletingNode?.name}
44 deleteObjectTitleT={'deleteNode.title'}
45 deleteObjectPromptT={'deleteNode.prompt'}
46 />
47 );
48};