import { Button, chakra, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Spinner, Text, useToast, } from '@chakra-ui/react'; import { FC, useState } from 'react'; import { ArrowPathIcon } from '@heroicons/react/24/outline'; import { Icon } from 'components/icon'; import { useTranslation, Trans } from 'react-i18next'; import { useUsers } from 'stores'; const ResetIcon = chakra(ArrowPathIcon, { baseStyle: { w: 5, h: 5, }, }); type DeleteUserModalProps = {}; export const ResetUserUsageModal: FC = () => { const [loading, setLoading] = useState(false); const { resetUsageUser: user, resetDataUsage } = useUsers(); const { t } = useTranslation(); const toast = useToast(); const onClose = () => { useUsers.setState({ resetUsageUser: null }); }; const onReset = () => { if (user) { setLoading(true); resetDataUsage(user) .then(() => { toast({ title: t('resetUserUsage.success', { username: user.username }), status: 'success', isClosable: true, position: 'top', duration: 3000, }); }) .catch(() => { toast({ title: t('resetUserUsage.error'), status: 'error', isClosable: true, position: 'top', duration: 3000, }); }) .finally(() => { setLoading(false); }); } }; return ( {t('resetUserUsage.title')} {user && ( }}> {t('resetUserUsage.prompt', { username: user.username })} )} ); };