import { getServerlessServicePlan } from 'dbaas/features/ClusterManagement/cluster'
import type { SharedCluster } from 'dbaas/features/ClusterManagement/cluster'

import { MoveInstanceModal } from './MoveInstanceModal'

interface MoveClusterModalProps {
  opened: boolean
  onClose: () => void
  onFinish?: () => Promise<unknown> | void
  cluster: Required<SharedCluster>['serverless']
}

export const MoveClusterModal = ({ cluster, ...props }: MoveClusterModalProps) => {
  return (
    <MoveInstanceModal
      {...props}
      instance={{
        tidbId: cluster.clusterId || '',
        currentProjectId: cluster.labels?.['tidb.cloud/project'] || '',
        displayName: cluster.displayName || '',
        servicePlan: getServerlessServicePlan(cluster)
      }}
    />
  )
}
