gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/nodes/dialogs/delete-confirmation/index.tsx · v0.7.2
Source
1 03b3dbc Mardin 2y ago
2 7389ad0 Mardin 2y ago import { DeleteConfirmation } from '@marzneshin/common/components'
3 03b3dbc Mardin 2y ago import { FC, useEffect } from 'react'
4 78a3e64 Dawsh 2y ago import { NodeType, useNodesDeletionMutation } from '@marzneshin/modules/nodes'
5 03b3dbc Mardin 2y ago
6 03b3dbc Mardin 2y ago interface NodesDeleteConfirmationDialogProps {
7 03b3dbc Mardin 2y ago onOpenChange: (state: boolean) => void
8 03b3dbc Mardin 2y ago open: boolean
9 03b3dbc Mardin 2y ago entity: NodeType
10 03b3dbc Mardin 2y ago onClose: () => void
11 03b3dbc Mardin 2y ago }
12 03b3dbc Mardin 2y ago
13 03b3dbc Mardin 2y ago export const NodesDeleteConfirmationDialog: FC<NodesDeleteConfirmationDialogProps> = (
14 03b3dbc Mardin 2y ago { onOpenChange, open, entity, onClose }
15 03b3dbc Mardin 2y ago ) => {
16 03b3dbc Mardin 2y ago const deleteMutation = useNodesDeletionMutation();
17 03b3dbc Mardin 2y ago
18 03b3dbc Mardin 2y ago useEffect(() => {
19 03b3dbc Mardin 2y ago if (!open) onClose();
20 03b3dbc Mardin 2y ago }, [open, onClose]);
21 03b3dbc Mardin 2y ago
22 03b3dbc Mardin 2y ago return (
23 03b3dbc Mardin 2y ago <DeleteConfirmation
24 03b3dbc Mardin 2y ago open={open}
25 03b3dbc Mardin 2y ago onOpenChange={onOpenChange}
26 03b3dbc Mardin 2y ago action={() => deleteMutation.mutate(entity)}
27 03b3dbc Mardin 2y ago />
28 03b3dbc Mardin 2y ago )
29 03b3dbc Mardin 2y ago }