/**
 * Centralized status styles for container statuses.
 * Used by SiteCard.vue and SiteDetail.vue components.
 */

export const STATUS_STYLES = {
  Running: {
    badgeVariant: 'success',
    icon: 'play-circle',
    bgClass: 'bg-green-100',
    iconClass: 'text-green-600',
    textClass: 'text-green-600',
  },
  Stopped: {
    badgeVariant: 'warning',
    icon: 'pause-circle',
    bgClass: 'bg-orange-100',
    iconClass: 'text-orange-600',
    textClass: 'text-orange-600',
  },
  Creating: {
    badgeVariant: 'info',
    icon: 'loader',
    bgClass: 'bg-blue-100',
    iconClass: 'text-blue-600',
    textClass: 'text-blue-600',
  },
  Pending: {
    badgeVariant: 'info',
    icon: 'loader',
    bgClass: 'bg-blue-100',
    iconClass: 'text-blue-600',
    textClass: 'text-blue-600',
  },
  Error: {
    badgeVariant: 'error',
    icon: 'alert-circle',
    bgClass: 'bg-red-100',
    iconClass: 'text-red-600',
    textClass: 'text-red-600',
  },
}

const DEFAULT_STYLE = {
  badgeVariant: 'subtle',
  icon: 'server',
  bgClass: 'bg-gray-100',
  iconClass: 'text-gray-600',
  textClass: 'text-gray-600',
}

/**
 * Get styles for a given container status.
 * @param {string} status - The container status
 * @returns {Object} Style object with badgeVariant, icon, bgClass, iconClass, textClass
 */
export function getStatusStyles(status) {
  return STATUS_STYLES[status] || DEFAULT_STYLE
}
