import { Badge } from '@tidbcloud/uikit'
import { capitalize } from 'lodash-es'

import { DataflowRestoreStatus } from 'dbaas/services/dataflow/interface'

export const RestoreStatus = ({
  status,
  name
}: {
  status: DataflowRestoreStatus
  name?: string
  progress?: number
}) => {
  const map = new Map([
    [DataflowRestoreStatus.RESTORE_STATUS_FAILED, 'red'],
    [DataflowRestoreStatus.RESTORE_STATUS_RUNNING, 'carbon.6'],
    [DataflowRestoreStatus.RESTORE_STATUS_SUCCESS, 'green'],
    [DataflowRestoreStatus.RESTORE_STATUS_PENDING, 'carbon.6'],
    [DataflowRestoreStatus.RESTORE_STATUS_UNSPECIFIED, 'carbon.6'],
    [DataflowRestoreStatus.RESTORE_STATUS_TERMINATED, 'carbon.6']
  ])

  const statusName = capitalize(name ?? status.split('_').pop())

  return (
    <Badge color={map.get(status) ?? 'carbon.6'} variant="dot" size="lg">
      {statusName}
    </Badge>
  )
}
