gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/pages/users/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 bedeeff Mardin 2y ago import { FC, useState } from 'react';
5 bedeeff Mardin 2y ago import { useTranslation } from 'react-i18next';
6 89f8f93 Mardin 2y ago import { useUsers } from 'stores';
7 bedeeff Mardin 2y ago import { DeleteModal } from 'components/delete-modal';
8 bedeeff Mardin 2y ago
9 bedeeff Mardin 2y ago type DeleteUserModalProps = {
10 bedeeff Mardin 2y ago deleteCallback?: () => void;
11 bedeeff Mardin 2y ago };
12 bedeeff Mardin 2y ago
13 bedeeff Mardin 2y ago export const DeleteUserModal: FC<DeleteUserModalProps> = () => {
14 bedeeff Mardin 2y ago const [loading, setLoading] = useState(false);
15 bedeeff Mardin 2y ago const { deletingUser, onDeletingUser, deleteUser } = useUsers();
16 bedeeff Mardin 2y ago const { t } = useTranslation();
17 bedeeff Mardin 2y ago const toast = useToast();
18 bedeeff Mardin 2y ago const onClose = () => {
19 bedeeff Mardin 2y ago onDeletingUser(null);
20 bedeeff Mardin 2y ago };
21 bedeeff Mardin 2y ago const onDelete = () => {
22 bedeeff Mardin 2y ago if (deletingUser) {
23 bedeeff Mardin 2y ago setLoading(true);
24 bedeeff Mardin 2y ago deleteUser(deletingUser)
25 bedeeff Mardin 2y ago .then(() => {
26 bedeeff Mardin 2y ago toast({
27 bedeeff Mardin 2y ago title: t('deleteUser.deleteSuccess', { username: deletingUser.username }),
28 bedeeff Mardin 2y ago status: 'success',
29 bedeeff Mardin 2y ago isClosable: true,
30 bedeeff Mardin 2y ago position: 'top',
31 bedeeff Mardin 2y ago duration: 3000,
32 bedeeff Mardin 2y ago });
33 bedeeff Mardin 2y ago })
34 bedeeff Mardin 2y ago .then(onClose)
35 bedeeff Mardin 2y ago .finally(setLoading.bind(null, false));
36 bedeeff Mardin 2y ago }
37 bedeeff Mardin 2y ago };
38 bedeeff Mardin 2y ago return (
39 bedeeff Mardin 2y ago <DeleteModal
40 bedeeff Mardin 2y ago onDelete={onDelete}
41 bedeeff Mardin 2y ago loading={loading}
42 bedeeff Mardin 2y ago isOpen={!!deletingUser}
43 bedeeff Mardin 2y ago onClose={onClose}
44 bedeeff Mardin 2y ago deletingObjectName={deletingUser?.username}
45 bedeeff Mardin 2y ago deleteObjectPromptT={'deleteUser.prompt'}
46 bedeeff Mardin 2y ago deleteObjectTitleT={'deleteUser.title'}
47 bedeeff Mardin 2y ago />
48 bedeeff Mardin 2y ago );
49 bedeeff Mardin 2y ago };