mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
synced 2025-11-01 11:17:51 +00:00
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import React from 'react';
|
|
import { useBoolean, Center, Spinner, Alert, FormControl, FormLabel, Switch, Button } from '@chakra-ui/react';
|
|
import { useTranslation } from 'react-i18next';
|
|
import { Modal } from '../Modal';
|
|
import { useFactoryReset } from 'hooks/Network/Devices';
|
|
import { ModalProps } from 'models/Modal';
|
|
|
|
interface Props {
|
|
modalProps: ModalProps;
|
|
serialNumber: string;
|
|
}
|
|
|
|
const FactoryResetModal = ({ modalProps: { isOpen, onClose }, serialNumber }: Props) => {
|
|
const { t } = useTranslation();
|
|
const [isRedirector, { toggle }] = useBoolean(false);
|
|
const { mutateAsync: factoryReset, isLoading } = useFactoryReset({
|
|
serialNumber,
|
|
keepRedirector: isRedirector,
|
|
onClose,
|
|
});
|
|
|
|
const submit = () => {
|
|
factoryReset();
|
|
};
|
|
|
|
return (
|
|
<Modal isOpen={isOpen} onClose={onClose} title={t('commands.factory_reset')}>
|
|
{isLoading ? (
|
|
<Center>
|
|
<Spinner size="lg" />
|
|
</Center>
|
|
) : (
|
|
<>
|
|
<Alert colorScheme="red" mb={6}>
|
|
{t('commands.factory_reset_warning')}
|
|
</Alert>
|
|
<FormControl>
|
|
<FormLabel ms="4px" fontSize="md" fontWeight="normal">
|
|
{t('commands.keep_redirector')}
|
|
</FormLabel>
|
|
<Switch isChecked={isRedirector} onChange={toggle} borderRadius="15px" size="lg" />
|
|
</FormControl>
|
|
<Center mb={6}>
|
|
<Button size="lg" colorScheme="red" onClick={submit} fontWeight="bold">
|
|
{t('commands.confirm_reset', { serialNumber })}
|
|
</Button>
|
|
</Center>
|
|
</>
|
|
)}
|
|
</Modal>
|
|
);
|
|
};
|
|
|
|
export default FactoryResetModal;
|