All files / src/development SetBackendModal.tsx

7.69% Statements 1/13
100% Branches 0/0
0% Functions 0/6
7.69% Lines 1/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55                    3x                                                                                        
import React, { useEffect, useState } from 'react';
import { Modal, Space } from 'antd';
import { ApiOutlined } from '@ant-design/icons';
import SetBackendComponent from "./SetBackend";
import { useTranslation } from 'react-i18next';
 
interface SetBackendModalProps {
  visibleProp: boolean;
}
 
const SetBackendModal: React.FC<SetBackendModalProps> = ({ visibleProp }) => {
  const [visible, setVisible] = useState(visibleProp);
  const { t } = useTranslation();
 
  useEffect(() => {
    setVisible(visibleProp);
  }, [visibleProp]);
 
  const showModal = (): void => {
    setVisible(true);
  };
 
  const handleOk = (): void => {
    setVisible(false);
  };
 
  const handleCancel = (): void => {
    setVisible(false);
  };
 
  return (
    <>
      <Space direction="horizontal" onClick={showModal} >
        <ApiOutlined />
        {t('Set backend')}
      </Space>
      <Modal
        title={undefined}
        open={visible}
        onOk={handleOk}
        onCancel={handleCancel}
        className={"footer-content"}
        closeIcon={null}
        footer={null}
        closable={false}
        width={450}
      >
        <SetBackendComponent onSetCallback={() => setVisible(false)} />
      </Modal>
    </>
  );
};
 
export default SetBackendModal;