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

export const useModifyStatus = (cluster: Pick<SharedCluster, 'computed'>) => {
  const { computed } = cluster || {}
  const disableModify = [
    computed?.creating,
    computed?.restoring,
    computed?.deleting,
    computed?.upgrading,
    computed?.modifying,
    computed?.scaling,
    computed?.maintaining,
    computed?.paused,
    computed?.pausing,
    computed?.resuming
  ].includes(true)

  let modifyTips = ''
  if (computed?.scaling || computed?.modifying) {
    modifyTips = 'The cluster is modifying.'
  } else if (computed?.paused) {
    modifyTips = 'The cluster is paused.'
  } else if (computed?.pausing) {
    modifyTips = 'The cluster is pausing.'
  } else if (computed?.resuming) {
    modifyTips = 'The cluster is resuming.'
  } else if (computed?.maintaining) {
    modifyTips = 'The cluster is in maintenance. Please try after the maintenance is completed.'
  }
  return { disableModify, modifyTips }
}
