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