import { WarningOutlined } from '@ant-design/icons'
import { Button, Modal } from 'antd'

import { jumpControllerActivateUserOfApplicant } from 'apiClient/services/devops'

export const Activate = ({
  reload
}: {
  reload: React.Dispatch<React.SetStateAction<boolean>>
}) => {
  const handleActivate = async () => {
    try {
      await jumpControllerActivateUserOfApplicant()
      Modal.success({
        title: 'Info',
        content: (
          <div>
            &nbsp;
            <p>
              An email has been sent to you. Please check and follow the
              instructions in the email to activate your account.
            </p>
          </div>
        ),
        onOk() {
          reload((pre) => !pre)
        }
      })
    } catch (error) {
      Modal.error({
        title: error.response.data.errcode,
        content: error.response.data.errmsg
      })
      reload((pre) => !pre)
    }
  }

  return (
    <div>
      Your account does not exist in JumpServer. Please click 'Activate' to
      activate your account. &nbsp;
      <Button type="primary" onClick={handleActivate}>
        Activate
      </Button>
    </div>
  )
}

export default Activate
