gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/users/components/dialogs/delete-confirmation/index.tsx · v0.3.2
Source
1 03b3dbc Mardin 2y ago import { DeleteConfirmation } from "@marzneshin/components";
2 03b3dbc Mardin 2y ago import { type FC, useEffect } from "react";
3 03b3dbc Mardin 2y ago import {
4 03b3dbc Mardin 2y ago type UserMutationType,
5 03b3dbc Mardin 2y ago useUsersDeletionMutation,
6 03b3dbc Mardin 2y ago } from "@marzneshin/features/users";
7 857e289 Mrdn 2y ago
8 857e289 Mrdn 2y ago interface UsersDeleteConfirmationDialogProps {
9 03b3dbc Mardin 2y ago onOpenChange: (state: boolean) => void;
10 03b3dbc Mardin 2y ago open: boolean;
11 03b3dbc Mardin 2y ago entity: UserMutationType;
12 03b3dbc Mardin 2y ago onClose: () => void;
13 857e289 Mrdn 2y ago }
14 857e289 Mrdn 2y ago
15 03b3dbc Mardin 2y ago export const UsersDeleteConfirmationDialog: FC<
16 03b3dbc Mardin 2y ago UsersDeleteConfirmationDialogProps
17 03b3dbc Mardin 2y ago > = ({ onOpenChange, open, entity, onClose }) => {
18 857e289 Mrdn 2y ago const deleteMutation = useUsersDeletionMutation();
19 03b3dbc Mardin 2y ago
20 03b3dbc Mardin 2y ago useEffect(() => {
21 03b3dbc Mardin 2y ago if (!open) onClose();
22 03b3dbc Mardin 2y ago }, [open, onClose]);
23 03b3dbc Mardin 2y ago
24 03b3dbc Mardin 2y ago return (
25 03b3dbc Mardin 2y ago <DeleteConfirmation
26 03b3dbc Mardin 2y ago open={open}
27 03b3dbc Mardin 2y ago onOpenChange={onOpenChange}
28 03b3dbc Mardin 2y ago action={() => deleteMutation.mutate(entity)}
29 03b3dbc Mardin 2y ago />
30 03b3dbc Mardin 2y ago );
31 03b3dbc Mardin 2y ago };