import { Switch } from 'antd'
import React, { useState } from 'react'
import { useParams } from 'react-router-dom'

import { updateK8sUpgradeTaskClusterAutoGeneration } from '../../../../apiClient/services/devops'
import {
  K8supgradeK8sCluster,
  K8supgradeUpdateK8sUpgradeTaskClusterAutoGenerationReq
} from '../../../../apiClient/services/devops/interface'

const AutoGenerationSwitch: React.FC<
  React.PropsWithChildren<{
    record: K8supgradeK8sCluster
    task_status: string
  }>
> = ({ record, task_status }) => {
  const { task_id } = useParams<{ task_id: string }>()
  const [reload, setReload] = useState(false)

  const onChange = (isChecked: boolean) => {
    const req: K8supgradeUpdateK8sUpgradeTaskClusterAutoGenerationReq = {
      disable_auto_generation: !isChecked
    }

    updateK8sUpgradeTaskClusterAutoGeneration(task_id, record.name!, req).then(
      () => {}
    )
    // TODO
  }

  return (
    <>
      <Switch
        checkedChildren="on"
        unCheckedChildren="off"
        defaultChecked={!record.disable_auto_generation}
        onChange={onChange}
        disabled={task_status != 'pending'}
      />
    </>
  )
}

export default AutoGenerationSwitch
