import { StatusBadge, StatusVariantMap } from 'dbaas/components/StatusBadge'
import { ImportStatusColorMap as StatusColorMap } from 'dbaas/features/Import'
import { ImportStateEnum as ServerlessImportStateEnum } from 'dbaas/services/api-clients/legacy/serverless/interface'
import { DataflowImportGetRespStatus, V1beta2ImportStateEnum } from 'dbaas/services/dataflow/interface'

export const ImportStatus = ({
  status,
  error,
  withinPortal = false
}: {
  status: DataflowImportGetRespStatus | ServerlessImportStateEnum | V1beta2ImportStateEnum
  error?: string
  withinPortal?: boolean
}) => {
  const color = StatusColorMap[status] as any
  const variant = StatusVariantMap[color] ?? 'default'
  return (
    <StatusBadge
      variant={variant}
      status={status.replace('ENUM_', '').replaceAll('_', ' ')}
      error={error}
      color={color}
      hoverCardProps={{ withinPortal }}
    />
  )
}
